versionNum = '1.2.6'
dateStr = '2025-11-18'

textEN = {
    'lan':'English',
    'lanOption':'English',
    'lanMenu':'Language',
    'uiTitle':'Petoi Desktop App',
    'calibTitle':'Joint Calibrator',
    'skillComposerTitle':'Petoi Skill Composer for OpenCat',
    'Model':'Model',
    'Robotic Arm':'Robotic Arm',
    'Utility':'Utility',
    'Joint Calibrator':'Joint Calibrator',
    'Skill Composer':'Skill Composer',
    'Task Scheduler':'Task Scheduler',
    'Scheduler':'Scheduler',
    'Firmware Uploader':'Firmware Uploader',
    'Debugger': 'Tools',
    'tipDebugger':'Provide convinient tools to debug the robot.',

    'Eye color picker':'Eye color picker',
    'Creator Information':'Creator Information',
    'Creator':'Creator',
    'Location':'Location',
    'Nature':'Nature',
    'Earth':'Earth',
    'InputCreator':'Please input the nickname of the creator',
    'InputLocation':'Please input the location of the creator',
    'Exit':'Exit',
    'Help':'Help',
    'About':'About',
    'Repeat':'Repeat',
    'Loop':'Loop',
    'Frame':'Frame',
    'Step':'Step',
    'Delay':'Delay',
    'Trig':'Trigger',
    'Angle':'Angle',
    'Note':'Note',
    'Del':'Del',
    'Add':'Add',
    'Set':'Set',
    'Save':'Save',
    'Stop':'Stop',
    'Joint Controller':'Joint Controller',
    'Unbind All':'Unbind All',
    'Yaw':'Yaw',
    'Pitch':'Pitch',
    '-Pitch':'-Pitch',
    'Roll':'Roll',
    '-Roll':'-Roll',
    'Spinal':'Spinal',
    'Height':'Height',
    'Sideway':'Sideway',
    'Head Pan':'Head Pan',
    'Head Tilt':'Head Tilt',
    'Tail Pan':'Tail Pan',
    'Claw Pan': 'Claw Pan',
    'Claw Lift': 'Claw Lift',
    'Claw Open': 'Claw Open',
    'N/A':'N/A',
    'Left Front':'Left Front',
    'Right Front':'Right Front',
    'Right Back':'Right Back',
    'Left Back':'Left Back',
    'Shoulder':'Shoulder',
    'Arm':'Arm',
    'Knee':'Knee',
    'State Dials':'State Dials',
    'Connect':'Connect',
    'Connected':'Connected',
    'Listening':'Listening',
    'All':'All',
    'None':'None',
    'Servo':'Servo',
    'Gyro':'Gyro',
    'Random':'Random',
    'Send':'Send',
    'Postures':'Preset Postures',
    'balance': 'stand',
    'buttUp': 'butt up',
    'dropped': 'dropped',
    'lifted': 'lifted',
    'rest': 'rest',
    'sit': 'sit',
    'str': 'stretch',
    'zero':'zero',
    'flat':'flat',
    'table':'table',

    'Skill Editor':'Skill Editor',
    'Play':'Play',
    'Pause':'Pause',
    'Import':'Import',
    'Restart':'Restart',
    'Export':'Export',
    'Undo':'Undo',
    'Redo':'Redo',
    'Open File':'Open File',
    'Cancel':'Cancel',
    'OK':'OK',
    'Refresh':'Refresh',
    'Multiple':'Multiple',
    'Skill List':'Skill List',
    'Type of skill':'Type of skill',
    'Name of skill':'Name of skill',
    'exampleFormat':'Import from files, or copy & paste the skill data from instinct.h in the following format.\n* Keep the curly brackets!',
    'Quit':'Quit',
    'Do you want to quit?':'Do you want to quit?',
    'mirror':'      MirrorAll',
    '>|<':'>|<',
    'Posture': '  Posture',
    'Gait':'  Gait',
    'Behavior':'  Behavior',
    'Clear':'Clear',
    'max':'max',

    'Manual mode':'Manual mode',
    'Replug mode':'Replug mode',
    # 'Replug prompt':'''WARNING: Connection Failed!\n\n
    'Replug prompt':'''WARNING: \n\n
* If the main board is NOT connected to the computer:\n
Click the button below. Connect the USB cable to the main board, then plug the other end to the COMPUTER. \n\n
* If the main board is already connected to the computer via a USB cable:\n
1. Confirm your computer can recognize the USB device.\n
More details can be found at https://docs.petoi.com/upload-firmware\n
2. After clicking the button below, unplug the USB cable from the COMPUTER side, and then plug it back.\n
The program will automatically identify the correct serial port name.''',
    'Confirm':'Confirm',
    'Counting down to manual mode: ':'Counting down to manual mode: ',
    'Info':'Info',
    'New port prompt':'Discover a new USB device: ',
    'Please select the port from the list':'Please select the port from the list',
    '* Port ':'* Port ',
    ' cannot be opened':' cannot be opened',

    'Reset voice module':'Reset voice module',
    'tipRstVoice':'Click this button to reset the voice module.',
    'Calibrate gyroscope':'Calibrate gyroscope',
    'tipImuCali': 'Calibrate the gyroscope (IMU).',
    'BiBoard Config':'BiBoard Config',
    'tipbiboardConfig':'Click this button to configure BiBoard.',

    'Voice indicates':'''Do you hear the melody "1-3-5"?\n
If yes, press the button "Yes" to continue; 
If no, press the button "No" to quit, for BiBoard V0, please check the dial switch 
on the bottom of the BiBoard extension hat is dialed to Voice, not UART2.
https://docs.petoi.com/extensible-modules/voice-command-module#how-to-debug-if-the-voice-command-doesnt-work''',
    'IMU indicates':'''Do you want to calibrate the gyroscope (IMU)?\n
If yes, place the robot on a level surface and press it down to ensure it's horizontal.\n
Bittle is shown in the example below.\n
Then press the button "Yes" to continue;\n
If no, press the button "No" to cancel.''',
    'Yes': 'Yes',
    'No': 'No',
    'Reset successfully': 'Reset successfully!',
    'IMU Calibration successfully':'The gyroscope calibration is successful!',
    'IMU Calibration failed': 'The gyroscope calibration failed!',
    'logLocation':'Please check the log file (logfile.log) in the following file path: \n',
    'checkLogfile':'''\nFor more details, please refer to https://docs.petoi.com/desktop-app/firmware-uploader#check-the-log-file \n
If you can not fix the issue, please send the log to support@petoi.com for help.''',

    'Calibrate':'Calibrate',
    'Auto':'Auto',
    'AutoCali failed': '''Automatic calibration of the robotic claw joint servo failed!\n
    Please follow the instructions in the Petoi Doc Center to perform manual calibration:\n
    https://docs.petoi.com/extensible-modules/robot-arm#fine-calibration''',
    'Rest':'Rest',
    'Stand Up':'Stand Up',
    'Walk':'Walk',
    'Abort':'Abort',
    'Do you want to save the offsets?':'Do you want to save the offsets?',
    'uploaderTitle': 'Firmware Uploader',
    'labTrans': 'Change Language',
    'labChi': 'Chinese',
    'labEng': 'English',
    'labHelp': 'Help',
    'labAbout': 'About',
    'labExit': 'Exit',
    'labFileDir': 'Choose the release folder',
    'btnFileDir': '...',
    'titleFileDir': 'Please choose the release folder',
    'labPort': 'Serial port',
    'labSoftwareVersion': 'Software version',
    'labBoardVersion': 'Board version',
    'labProduct': 'Product',
    'labMode': 'Mode',
    'rbnWalk': 'Walk',
    'rbnUltrasonic': 'Ultrasonic',
    'rbnCamera': 'Camera',
    'Parameters':'Parameters',
    'Main function':'Main function',
    'Time consuming': 'it will take about 30 seconds',
    'btnFacReset':'Factory Reset',
    'tipFacReset':''' After factory reset, you need to do joint calibration, please refer to: 
 https://docs.petoi.com/joint-calibration ''',
    'btnUpgrade':'Upgrade the Firmware',
    'tipUpgrade':''' Upgrade both the parameters and the main function. 
 * Mandatory if you just downloaded a new version of this software. 
 * You can select \'N\' to preserve the calibration values. ''',
    'btnUpdateMode': 'Update the Mode Only',
    'tipUpdateMode':''' For NyBoard:
 If you have upgraded the firmware at least once after a new download, 
 it\'s faster to only switch the modes without refreshing the parameters. 
 For BiBoard:
 The function of this button is the same as the function of the "Upgrade the Firmware" button.''',
    'Warning': 'Warning',
    'Uploading': 'Uploading ',
    'is successully uploaded':' is successully uploaded',
    'failed to upload':' failed to upload',
    'Need to manually select the model type (Nybble/Bittle)':'Need to manually select the model type (Nybble/Bittle)',
    'msgFileDir': 'Please choose the release folder!',
    'msgPort': 'Please choose the correct serial port!',

    'msgNoneAvrdude': '''There is no avrdude. Please install avrdude at first! For details, please refer to :
    https://docs.petoi.com/desktop-app/firmware-uploader#install-avrdude-in-the-linux-os''',
    'msgNoneEsptool':'There is no esptool. Please install esptool at first!',

    'titleVersion': 'Version information',

    'msgVersion': 'Version: ' + versionNum + '\n'+
    '''Firmware upload tool for OpenCat
    Copyright © 2018-2025
    All rights reserved Petoi LLC
    https://www.petoi.com\n''' + dateStr,

    'reset joints?': 'Reset joint offsets? (Y/N)',
    'reseting joints': 'Reset joint offsets...',
    'joints reset': 'Reset joint offsets complete!',
    
    'update instincts?':'Update Instinct? (Y/N)',
    'updating instincts':'Updating Instincts......',
    'instincts updated': 'Instincts updated',
    
    'calibrate IMU?':'''Calibrate gyroscope (IMU)? (Y/N)
    Note: Lay the mainboard FLAT on a table!''',
    'calibrating IMU': 'Calibrating IMU...',
    'IMU calibrated': 'Calibrate IMU complete!',
    'caliIMUerrorStatus':'IMU Calibration Error!',

    'parameterFinish': '''Parameters initialized! \n
After clicking the "OK" button, the main function firmware will be automatically uploaded.''',

    '9685 Calibrated':'PCA9685 has been calibrated successfully!',
    'msgFinish': 'Firmware upload complete!',
    'msgMode': 'Invalide, please select another mode!',
    'caliIMUerrorMessage': '''Please dial the I2C switch to the Arduino side! for more details, refer to:\n
https://docs.petoi.com/desktop-app/firmware-uploader#nyboard-version \n
Then re-upgrade the firmware.\n''',

    'Standard':'Standard',
    'RandomMind':'RandomMind',
    'Ultrasonic':'Ultrasonic',
    'Voice':'Voice',
    'Camera':'Camera',
    'Mind+':'Mind+',
    'RandomMind_Ultrasonic':'RandomMind_Ultrasonic',
    'PIR':'PIR',
    'Touch':'Touch',
    'Light':'Light',
    'Gesture':'Gesture',
    'InfraredDistance':'InfraredDistance',
    'Voice_RobotArm':'Voice_RobotArm',
    
    'Breath':'Breath',
    'Rotate':'Rotate',
    'Flash':'Flash',
    'Meow':'Meow',
 
    'labEdit':'Edit',
    'labTheme':'Theme',
    'tipConnect':'Keep updating the active serial\nports until it\'s disabled',
    'tipPortMenu':'Control single or all of the devices',
    'tipServo':'Activate/deactivate the servos',
    'tipGyro':'Activate/deactivate the gyroscope',
    'tipRandom':'Activate/deactivate the random behaviors\n* in certain modes',
    'tipBinder':'Bind to other joints',
    'tipRevBinder':'Reversely bind to other joints',
    'tipPlay':'Go through the sheduler from the active frame\nYou may stop while playing',
    'tipImport':'Import skills from files or texts',
    'tipRestart':'Clear all the frames in the scheduler!',
    'tipExport':'The skill will be sent in real time and saved\nin the static memory of the robot\nUse serial token \'T\' to call the last sent skill',
    'tipMirror':'Mirror the current frame',
    'tipMirrorXport':'Mirror the whole skill when exporting\n* Effective when exporting the whole skill',
    'tipGorB':'A behavior interpolates between the key frames and excutes only once\nA gait loops over all the frames without any smoothing',
    'tipLoop':'Set the starting and ending frames for looping\n* Effective when exporting the whole skill',
    'tipRepeat':'Enter the number of loops\n-1 for inifinite loop. Only the "reset" button can break the loop!\n* Effective when exporting the whole skill',
    'tipSet':'Jump to/save the current frame',
    'tipStep':'Unit: degree/step\n* Effective when exporting the whole skill',
    'tipDelay':'Unit: milisecond\nDelay after the current frame, before entering the next frame\nIf the trigger is valid, the delay starts after the trigger\n* Effective when exporting the whole skill',
    'tipTrig':'Trigger the next frame only when the body rolls\nover the triggering angle in a certain direction\n* Effective when exporting the whole skill',
    'tipTrigAngle':'The critical angle for the trigger\n* Effective when exporting the whole skill',
    'tipNote':'Give the frame an easy to remember name',
    'tipAdd':'Copy the active frame and\ninsert it to the next row',
    'tipDel':'Delete the current frame',
    
    'tipImgWiring':'Pay attention to the location and direction of the servo plugs\nLong-press the battery\'s button to turn on the power\nClick "Calibrate" to rotate all the servos to the calibration state\nAttach the legs and head perpendicularly\nUse the slider to align the edges of the legs and the reference ruler parallelly',
    'tipImgPosture':'Switch between postures to test the calibration results\nSave the offsets in time\nNo need for calibration in the future',
    'Boot prompt': 'Boot prompt',
    'poweron':'The robot must be powered by a battery to rotate its joints, \n\nIt\'s VITAL for controlling joint movement!\n\nThe yellow LED on the mainboard should light up, \n\notherwise, plug in the battery and long-press its \n\nbutton for 3 seconds to power on the robot.\n\n',
}
textCN = {
    'lan':'Simplified Chinese',
    'lanOption':'中文',
    'lanMenu':'语言',
    'uiTitle':'派拓艺桌面应用',
    'skillComposerTitle':'派拓艺技能创作坊',
    'calibTitle':'关节校准器',
    'Skill Composer':'技能创作坊',
    'Task Scheduler':'任务时序器',
    'Model':'产品',
    'Robotic Arm':'机械臂',
    'Utility':'应用工具',
    'Joint Calibrator':'关节校准',
    'Scheduler':'时序器',
    'Firmware Uploader':'固件上载',
    'Debugger': '工具箱',
    'tipDebugger':'提供便捷的机器人调试工具。',
    'tipRstVoice':'点击此按钮重置语音模块。',
    'Calibrate gyroscope':'校准陀螺仪',
    'tipImuCali': '校准陀螺仪（IMU）。',
    'Eye color picker':'眼色选择器',
    'Creator Information':'创作者信息',
    'Creator':'创作者',
    'Location':'位置',
    'Nature':'自然',
    'Earth':'地球',
    'InputCreator':'请输入创作者昵称',
    'InputLocation':'请输入创作者位置',
    'Exit':'退出',
    'Help':'帮助',
    'About':'关于',
    'Repeat':'重复',
    'Loop':'循环',
    'Frame':'帧',
    'Step':'速度',
    'Delay':'延时',
    'Trig':'触发轴',
    'Angle':'触发角',
    'Note':'标记',
    'Del':'删除',
    'Add':'添加',
    'Set':'设置',
    'Save':'保存',
    'Stop':'停止',
    'Joint Controller':'关节控制器',
    'Unbind All':'取消所有联动',
    'Yaw':'偏航',
    'Pitch':'俯仰',
    '-Pitch':'逆俯仰',
    'Roll':'横滚',
    '-Roll':'逆横滚',
    'Spinal':'脊向',
    'Height':'高度',
    'Sideway':'侧向',
    'Head Pan':'头部平转',
    'Head Tilt':'头部俯仰',
    'Tail Pan':'尾巴平转',
    'Claw Pan': '爪旋转',
    'Claw Lift': '爪升降',
    'Claw Open': '爪开合',
    'N/A':'闲置',
    'Left Front':'左前',
    'Right Front':'右前',
    'Right Back':'右后',
    'Left Back':'左后',
    'Shoulder':'肩',
    'Arm':'臂',
    'Knee':'膝',
    'State Dials':'状态开关',
    'Connect':'连接',
    'Connected':'已连接',
    'Listening':'检测中',
    'All':'全部',
    'None':'无',
    'Servo':'舵机',
    'Pause':'暂停',
    'Gyro':'陀螺仪',
    'Random':'随机行为',
    'Send':'发送',
    'Postures':'预设姿态',
    'balance': '站立',
    'buttUp': '撅屁股',
    'dropped': '下落',
    'lifted': '举手',
    'rest': '休息',
    'sit': '坐下',
    'str': '伸懒腰',
    'zero':'零位',
    'flat':'平铺',
    'table':'桌子',
    
    'Skill Editor':'技能编辑器',
    'Play':'播放',
    'Import':'导入',
    'Restart':'重置',
    'Export':'导出',
    'Undo':'撤消',
    'Redo':'重复',
    'Open File':'打开文件',
    'Cancel':'取消',
    'OK':'确认',
    'Multiple':'载入多个',
    'Skill List':'技能表',
    'Type of skill':'技能类型',
    'Name of skill':'技能名',
    'exampleFormat':'从文件导入，或以下列格式从 instinct.h 复制粘贴技能数组。\n* 保留大括号！',
    'Quit':'退出',
    'Do you want to quit?':'要退出吗？',
    'mirror':'      镜像导出',
    '>|<':'>|<',
    'Posture': '   姿势',
    'Gait':'   步态',
    'Behavior':'   行为',
    'Clear':'清空',
    'max':'最快',
    'Calibrate':'校准位',
    'Auto':'自动',
    'AutoCali failed': '''自动校准机械爪关节舵机失败！\n
    请按照说明书中的方法，进行手动校准：\n
    https://docs.petoi.com/extensible-modules/robot-arm#fine-calibration''',
    'Rest':'休息',
    'Stand Up':'站立',
    'Walk':'行走',
    'Abort':'放弃',
    'Refresh':'刷新',

    'Manual mode':'手动模式',
    'Replug mode':'重新拔插',
    # 'Replug prompt':'''警告：连接失败！\n\n
    'Replug prompt':'''警告：\n\n
* 如果主板未连接到计算机：\n
点击下面的按钮，将USB数据线连接到主板，然后将另一端插入电脑。\n\n
* 如果主板已经通过USB数据线连接到计算机：\n
1. 确认您的计算机可以识别 USB 设备。\n
   更多详情请参考 https://docs.petoi.com/upload-firmware \n
2. 点击下面的按钮后，从电脑端拔下USB数据线，然后再插回去。\n
   程序将自动识别出正确的串口名称。''',
    'Confirm':'确认',
    'Counting down to manual mode: ':'切换到手动模式倒计时：',
    'Info':'提示',
    'New port prompt':'发现新的USB口串口设备：',
    'Please select the port from the list':'请从列表中选择串口名称',
    '* Port ':'* 端口 ',
    ' cannot be opened':' 无法打开',

    'Reset voice module':'重置语音模块',
    'Voice indicates':'''您能听到“1-3-5”的旋律吗？
是的话，请按“是”按钮继续；
否的话，请按“否”按钮退出，对于BiBoard V0主板，请检查 BiBoard 扩展底部的拨动开关是否拨到“语音”，而不是“UART2”。
https://docs.petoi.com/extensible-modules/voice-command-module#how-to-debug-if-the-voice-command-doesnt-work''',
    'IMU indicates':'''您想要校准陀螺仪（IMU）吗？\n
如果是，请将机器人放在水平面上并按压，确保其身体保持水平。以Bittle为例，如下图所示。\n
然后按“是”按钮继续；\n
如果否，按“否”按钮取消。''',
    'Yes': '是',
    'No': '否',
    'Reset successfully': '重置成功！',
    'IMU Calibration successfully':'陀螺仪校准成功！',
    'IMU Calibration failed': '陀螺仪校准失败！',
    'logLocation':'请在以下文件路径中检查日志文件 (logfile.log) ：\n',
    'checkLogfile':'''\n相关详细信息，请参阅 https://docs.petoi.com/desktop-app/firmware-uploader#check-the-log-file \n
如果您无法解决问题，请发送日志到 support@petoi.com 以寻求帮助。''',

    'Do you want to save the offsets?':'要保存校准值吗？',
    'Need to manually select the model type (Nybble/Bittle)':'请手动选择型号(Nybble/Bittle)',
    'uploaderTitle': '上传工具',
    'labTrans': '切换语言',
    'title': '上传工具',
    'labTrans': '切换语言',
    'labChi': '中文',
    'labEng': '英文',
    'labHelp': '帮助',
    'labAbout': '关于',
    'labExit': '退出',
    'labFileDir': '选择release文件夹',
    'btnFileDir': '...',
    'titleFileDir': '请选择release文件夹',
    'labPort': '串口',
    'labSoftwareVersion': '软件版本',
    'labBoardVersion': '主板型号',
    'labProduct': '产品',
    'labMode': '模式',
    'Warning': '警告',
    'msgFileDir': '请选择release文件夹！',
    'msgPort': '请选择正确的串口！',

    'msgNoneAvrdude': '''没有找到可执行程序文件 avrdude。请先安装 avrdude！详细说明请参考：
    https://docs.petoi.com/v/chinese/zhuo-mian-ying-yong/gu-jian-shang-zai#linux-xi-tong-zhong-an-zhuang-avrdude''',
    'msgNoneEsptool':'没有找到可执行程序文件 esptool。 请先安装esptool！',

    'Uploading': '上传',
    'is successully uploaded':' 上传成功！',
    'failed to upload':' 上传失败！',
    'titleVersion': '版本信息',

    'msgVersion': '版本：' + versionNum + '\n'+
    '''OpenCat固件上传工具
    版权所有 © 2018-2025
    派拓艺（深圳）科技有限责任公司
    https://www.petoi.com\n''' + dateStr,

    'reset joints?': '舵机校准参数清零？(Y/N)',
    'reseting joints': '校准参数清零中......',
    'joints reset': '校准参数清零完成！',
    
    'update instincts?':'更新技能? (Y/N)',
    'updating instincts':'刷新EEPROM数据......',
    'instincts updated': '更新技能完成!',
    
    'calibrate IMU?':'''校准陀螺仪（IMU）吗？(Y/N)
            注意: 请务必将主板保持水平放置！''' ,
    'calibrating IMU': 'IMU校准中...',
    'IMU calibrated': 'IMU校准完成！',
    'caliIMUerrorStatus':'IMU 校准错误！',
            
    'parameterFinish': '''参数初始化完成！\n
点击“确定”按钮后，将自动上传主功能固件。''',
    '9685 Calibrated':'PCA9685校准完成！',
    'msgFinish': '固件上传完成！',
    'msgMode': '无效模式，请选择其他模式！',
    'caliIMUerrorMessage': '''请将 I2C 开关拨到 Arduino 侧。有关更多详细信息，请参阅:\n
https://docs.petoi.com/desktop-app/firmware-uploader#nyboard-version \n
然后，重新升级固件。\n''',

    'Standard':'标准',
    'RandomMind':'随机',
    'Ultrasonic':'超声波',
    'Voice':'语音',
    'Camera':'摄像头',
    'Mind+':'Mind+',
    'RandomMind_Ultrasonic':'随机_超声波',
	'PIR':'人体移动',
    'Touch':'触摸',
    'Light':'光敏',
    'Gesture':'手势',
    'InfraredDistance':'红外测距',
    'Voice_RobotArm':'语音_机械臂',
    'Parameters':'参数',
    'Main function':'主程序',
    'Time consuming': '大约需要30秒',
    'btnFacReset':'恢复出厂设置',
    'tipFacReset':''' 恢复出厂设置后，你需要重新校准关节舵机，请参考：
 https://docs.petoi.com/joint-calibration ''',
    'btnUpgrade':'升级固件',
    'tipUpgrade':''' 升级参数和主程序固件。
 * 如果您初次下载了该软件的新版本，则必须点击此按钮升级固件。
 * 您可以选择 “N” 来保留校准值。''',
    'btnUpdateMode': '只更新模式',
    'tipUpdateMode':''' 对于NyBoard:
 如果您在下载后至少升级过一次固件，
 只切换模式而不刷新参数固件会更快。
 对于BiBoard：
 此按钮的功能与“升级固件”按钮的功能相同。''',
    'Breath':'渐变',
    'Rotate':'旋转',
    'Flash':'闪烁',
    'Meow':'喵！',
    'labEdit':'编辑',
    'labTheme':'主题',
    'tipConnect':'持续更新活跃串口列表直到被挂起',
    'tipPortMenu':'控制单个或所有设备',
    'tipServo':'启用或禁用舵机',
    'tipGyro':'启用或禁用陀螺仪',
    'tipRandom':'启用或禁用随机动作\n* 只在某些模式下',
    'tipBinder':'正向联动其他关节',
    'tipRevBinder':'反向联动其他关节',
    'tipPlay':'从当前帧开始播放时序器中的动作\n可以中途停止',
    'tipImport':'从文件或文本导入技能',
    'tipRestart':'清空时序器中的所有帧！',
    'tipExport':'技能会实时发送并保存在机器人的静态内存\n可以通过串口指令\'T\'调用上次发送的技能',
    'tipMirror':'镜像当前帧',
    'tipMirrorXport':'导出整个技能的镜像\n* 在导出整体技能时生效',
    'tipGorB':'行为给关键帧插值并只执行一轮\n步态循环执行所有帧并且不加平滑处理',
    'tipLoop':'选择循环的起止帧\n* 在导出整体技能时生效',
    'tipRepeat':'输入循环次数\n-1为无限循环，只有按复位键才能跳出循环!\n* 在导出整体技能时生效',
    'tipSet':'跳入/保存当前帧',
    'tipStep':'单位：度/步长\n* 在导出整体技能时生效',
    'tipDelay':'单位：毫秒\n完成当前帧后延时，再执行下一帧\n如触发器有效，则在触发后才开始延时\n* 在导出整体技能时生效',
    'tipTrig':'当机身以特定方向越过触发角时触发下一帧\n* 在导出整体技能时生效',
    'tipTrigAngle':'触发临界角\n* 在导出整体技能时生效',
    'tipNote':'给当前帧起一个便于记忆的名字',
    'tipAdd':'复制当前帧并插入到下一行',
    'tipDel':'删除当前帧',
    'tipImgWiring':'接舵机线时注意插头的位置和正反\n长按电池按钮通电\n点击“校准“使所有舵机旋转到校准位\n按垂直关系安装四肢和头\n控制滑条使大小腿边缘与校准尺平行',
    'tipImgPosture':'在各姿势间切换，检查校准效果\n及时保存修正值\n后续使用无需再校准',
    'Boot prompt': '开机提醒',
    'poweron':'机器人必须由电池供电才能旋转它的关节，\n\n这对于控制关节运动至关重要！\n\n主板上的黄色 LED 应亮起, \n\n否则，请插入电池，并长按电池上的按钮 \n\n3秒给机器人开机。\n\n',
}

textCN_TW = {
    'lan':'Traditional Chinese',
    'lanOption':'繁体中文',
    'lanMenu':'語言',
    'uiTitle':'Petoi桌面應用',
    'skillComposerTitle':'Petoi技能創作坊',
    'calibTitle':'關節校準器',
    'Skill Composer':'技能創作坊',
    'Task Scheduler':'任務排程器',
    'Model':'產品',
    'Robotic Arm':'機械手臂',
    'Utility':'應用工具',
    'Joint Calibrator':'關節校準',
    'Scheduler':'排程器',
    'Firmware Uploader':'韌體上傳',
    'Debugger': '工具箱',
    'tipDebugger':'提供便捷的機器人除錯工具。',
    'tipRstVoice':'點擊此按鈕重設語音模組。',
    'Calibrate gyroscope':'校準陀螺儀',
    'tipImuCali': '校準陀螺儀（IMU）。',
    'Eye color picker':'眼睛顏色選擇器',
    'Creator Information':'創作者信息',
    'Creator':'創作者',
    'Location':'位置',
    'Nature': '自然',
    'Earth': '地球',
    'InputCreator': '請輸入創作者昵稱',
    'InputLocation': '請輸入創作者位置',
    'Exit':'退出',
    'Help':'幫助',
    'About':'關於',
    'Repeat':'重複',
    'Loop':'循環',
    'Frame':'幀',
    'Step':'速度',
    'Delay':'延遲',
    'Trig':'觸發',
    'Angle':'角度',
    'Note':'標記',
    'Del':'刪除',
    'Add':'添加',
    'Set':'設置',
    'Save':'儲存',
    'Stop':'停止',
    'Joint Controller':'關節控制器',
    'Unbind All':'取消所有聯動',
    'Yaw':'偏航',
    'Pitch':'俯仰',
    '-Pitch':'逆俯仰',
    'Roll':'横滾動',
    '-Roll':'逆横滾動',
    'Spinal':'脊向',
    'Height':'高度',
    'Sideway':'側向',
    'Head Pan':'頭部平轉',
    'Head Tilt':'頭部俯仰',
    'Tail Pan':'尾巴平轉',
	'Claw Pan': '爪旋轉',
    'Claw Lift': '爪升降',
    'Claw Open': '爪開合',
    'N/A':'閒置',
    'Left Front':'左前',
    'Right Front':'右前',
    'Right Back':'右後',
    'Left Back':'左後',
    'Shoulder':'肩',
    'Arm':'臂',
    'Knee':'膝',
    'State Dials':'狀態開關',
    'Connect':'連接',
    'Connected':'已連接',
    'Listening':'檢測中',
    'All':'全部',
    'None':'無',
    'Servo':'伺服',
    'Pause':'暫停',
    'Gyro':'陀螺儀',
    'Random':'随機行為',
    'Send':'發送',
    'Postures':'預設姿態',
    'balance': '站立',
    'buttUp': '撅屁股',
    'dropped': '下落',
    'lifted': '舉手',
    'rest': '休息',
    'sit': '坐下',
    'str': '伸懶腰',
    'zero':'零位',
    'flat':'平鋪',
    'table':'桌子',

    'Skill Editor':'技能编輯器',
    'Play':'播放',
    'Import':'導入',
    'Restart':'重置',
    'Export':'導出',
    'Undo':'撤消',
    'Redo':'重複',
    'Open File':'打開文件',
    'Cancel':'取消',
    'OK':'確認',
    'Multiple':'載入多個',
    'Skill List':'技能表',
    'Type of skill':'技能類型',
    'Name of skill':'技能名',
    'exampleFormat':'從文件導入，或以下列格式從 instinct.h 複製黏貼技能數組。\n* 保留大括號！',
    'Quit':'退出',
    'Do you want to quit?':'要退出嗎？',
    'mirror':'      鏡像導出',
    '>|<':'>|<',
    'Posture': '   姿勢',
    'Gait':'   步態',
    'Behavior':'   行為',
    'Clear':'清空',
    'max':'最快',
    'Calibrate':'校準位',
    'Auto':'自動',
    'AutoCali failed': '''自動校準機械爪關節舵機失敗！\n
    請按照說明書中的方法，進行手動校準：\n
    https://docs.petoi.com/extensible-modules/robot-arm#fine-calibration''',
    'Rest':'休息',
    'Stand Up':'站立',
    'Walk':'行走',
    'Abort':'放棄',
    'Refresh':'刷新',

    'Manual mode':'手動模式',
    'Replug mode':'重新拔插',
    # 'Replug prompt':'''警告：連線失敗！\n\n
    'Replug prompt':'''警告：\n\n
* 如果主機板未連接到電腦：\n
點擊下面的按鈕後，將USB資料線連接到主機板，然後將另一端插入電腦。\n\n
* 如果主機板已經通過USB資料線連接到電腦：\n
1. 確認您的電腦可以識別 USB 設備。\n
   更多詳情請參考 https://docs.petoi.com/upload-firmware \n
2. 點擊下面的按鈕後，從電腦端拔下USB資料線，然後再插回去。\n
   程式將自動辨識出正確的序列埠名稱。''',
    'Confirm':'確認',
    'Counting down to manual mode: ':'切換到手動模式倒計時：',
    'Info':'提示',
    'New port prompt':'發現新的USB口串口設備：',
    'Please select the port from the list':'請從列表中選擇串口名稱',
    '* Port ':'* 埠 ',
    ' cannot be opened':' 無法打開',

    'Reset voice module':'重設語音模組',
    'Voice indicates':'''您能聽到「1-3-5」的旋律嗎？
是的話，請按「是」按鈕繼續；
否的話，請按「否」按鈕退出，對於BiBoard V0，請檢查 BiBoard 擴展板底部的撥動開關是否撥到「語音」，而不是「UART2」。
https://docs.petoi.com/extensible-modules/voice-command-module#how-to-debug-if-the-voice-command-doesnt-work''',
    'IMU indicates':'''您想要校準陀螺儀（IMU）嗎？\n
如果是，請將機器人放在水平面上並按壓，確保其身體保持水平。以Bittle為例，如下圖所示。\n
然後按“是”按鈕繼續；\n
如果否，按“否”按鈕取消。''',
    'Yes': '是',
    'No': '否',
    'Reset successfully': '重設成功！',
    'IMU Calibration successfully':'陀螺儀校準成功！',
    'IMU Calibration failed': '陀螺儀校準失敗！',
    'logLocation':'請在以下檔案路徑中檢查日誌檔案 (logfile.log)： \n',
    'checkLogfile':'''\n相關详细信息，請參閱 https://docs.petoi.com/desktop-app/firmware-uploader#check-the-log-file \n
如果您無法修復問題，請將日志發送到 support@petoi.com 以尋求幫助。''',

    'Do you want to save the offsets?':'要保存校準值嗎？',
    'Need to manually select the model type (Nybble/Bittle)':'請手動選擇型號(Nybble/Bittle)',
    'uploaderTitle': '上傳者標題',
    'labTrans': '切換語言',
    'title': '標題',
    'labChi': '中文',
    'labEng': '英文',
    'labHelp': '幫助',
    'labAbout': '關於',
    'labExit': '退出',
    'labFileDir': '選擇release文件夾',
    'btnFileDir': '...',
    'titleFileDir': '請選擇release文件夾',
    'labPort': '端口',
    'labSoftwareVersion': '軟件版本',
    'labBoardVersion': '主板型號',
    'labProduct': '產品',
    'labMode': '模式',
    'Warning': '警告',
    'msgFileDir': '請選擇release文件夾！',
    'msgPort': '請選擇正確的端口！',

    'msgNoneAvrdude': '''沒有找到可執行程式文件 avrdude。請先安裝 avrdude！詳細說明請參考：
    https://docs.petoi.com/v/chinese/zhuo-mian-ying-yong/gu-jian-shang-zai#linux-xi-tong-zhong-an-zhuang-avrdude''',
    'msgNoneEsptool':'沒有找到可執行程式文件 esptool。請先安裝 esptool！',

    'Uploading': '上傳',
    'is successully uploaded':' 上傳成功！',
    'failed to upload':' 上傳失敗！',
    'titleVersion': '版本信息',

    'msgVersion': '版本：' + versionNum + '\n'+
    '''OpenCat韌體上傳工具
    版權所有 © 2018-2025
    派拓藝（深圳）科技有限责任公司
    https://www.petoi.com\n''' + dateStr,

    'reset joints?': '舵機校準參數清零？(Y/N)',
    'reseting joints': '校準參數清零中......',
    'joints reset': '校準參數清零完成！',
    
    'update instincts?':'更新技能？(Y/N)',
    'updating instincts':'刷新EEPROM數據......',
    'instincts updated': '更新技能完成！',
    
    'calibrate IMU?':'''校準陀螺儀（IMU）嗎？(Y/N)
            注意: 請務必將主板保持水平放置！''' ,
    'calibrating IMU': 'IMU校準中......',
    'IMU calibrated': 'IMU校準完成！',
    'caliIMUerrorStatus':'IMU 校正錯誤！',
            
    'parameterFinish': '''參數初始化完成！\n
點擊「確定」按鈕後，主功能韌體將自動上傳。''',
    '9685 Calibrated':'PCA9685校準完成！',
    'msgFinish': '韌體上傳完成!',
    'msgMode': '無效模式，請選擇其他模式!',
    'caliIMUerrorMessage': '''請將 I2C 開關撥到 Arduino 側。有关更多详细信息，請參閱:\n
https://docs.petoi.com/desktop-app/firmware-uploader#nyboard-version \n
然後，重新升級韌體。\n''',

    'Standard':'標準',
    'RandomMind':'随機',
    'Ultrasonic':'超聲波',
    'Voice':'語音',
    'Camera':'鏡頭',
    'Mind+':'Mind+',
    'RandomMind_Ultrasonic':'随機_超聲波',
	'PIR':'人體移動',
    'Touch':'觸摸',
    'Light':'光敏',
    'Gesture':'手勢',
    'InfraredDistance':'紅外線測距',
    'Voice_RobotArm':'語音_機械臂',
    'Parameters':'參數',
    'Main function':'主程序',
    'Time consuming': '大約需要30秒',
    'btnFacReset':'恢復出廠設置',
    'tipFacReset':''' 恢復出廠設置後，你需要重新校準關節舵機，請參考：
 https://docs.petoi.com/joint-calibration ''',
    'btnUpgrade':'升級韌體',
    'tipUpgrade':''' 升級參數和主程式韌體。
 * 如果您初次下載了該軟體的新版本，則必須點擊此按鈕升級韌體。
 * 您可以選擇 “N” 來保留校準值。''',
    'btnUpdateMode': '僅更新模式',
    'tipUpdateMode':''' 對於NyBoard:
 如果您在下載後至少升級過一次韌體，
 僅切換模式而不刷新參數韌體會更快。
 對於BiBoard：
 此按鈕的功能與「升級韌體」按鈕的功能相同。
 ''',
    'Breath':'漸變',
    'Rotate':'旋轉',
    'Flash':'閃爍',
    'Meow':'喵！',
    
    'labEdit':'编辑',
    'labTheme':'主题',
    'tipConnect':'持續更新活耀端口列表直到被掛起',
    'tipPortMenu':'控制單個或所有設備',
    'tipServo':'啟用或禁用舵機',
    'tipGyro':'啟用或禁用陀螺儀',
    'tipRandom':'啟用或禁用随機動作\n* 只在某些模式下',
    'tipBinder':'正向聯動其他關節',
    'tipRevBinder':'反向聯動其他關節',
    'tipPlay':'從當前幀開始播放時序器中的動作\n可以中途停止',
    'tipImport':'從文件或文本導入技能',
    'tipRestart':'清空时序器中的所有幀！',
    'tipExport':'技能會實時發送並保存在機器人的静態内存\n可以通過端口指令\'T\'適用上次發送的技能',
    'tipMirror':'鏡像當前幀',
    'tipMirrorXport':'導出整個技能的鏡像\n* 在導出整體技能時生效',
    'tipGorB':'行為給關鍵幀插值並只執行一輪\n步態循環執行所有幀並且不加平滑處理',
    'tipLoop':'選擇循環的起止幀\n* 在導出整體技能時生效',
    'tipRepeat':'輸入循環次數\n-1為無限循環，只有按復位健才能跳出循環!\n* 在導出整體技能時生效',
    'tipSet':'跳入/保存當前幀',
    'tipStep':'單位：度/步長\n* 在導出整體技能時生效',
    'tipDelay':'單位：毫秒\n完成當前幀後延時，再執行下一幀\n如觸發器有效，則在觸發後才開始延時\n* 在導出整體技能時生效',
    'tipTrig':'當機身以特定方向越過觸發角時觸發下一幀\n* 在導出整體技能時生效',
    'tipTrigAngle':'觸發臨界角\n* 在導出整體技能時生效',
    'tipNote':'给當前幀起一個便於記憶的名字',
    'tipAdd':'複製當前幀並插入到下一行',
    'tipDel':'刪除當前幀',
    'tipImgWiring':'接舵機線时注意插頭的位置和正反\n長按電池按鈕通電\n點擊“校準“使所有舵機旋轉到校準位\n按垂直關係安装四肢和頭\n控制滑條使大小腿邊緣與校準尺平行',
    'tipImgPosture':'在各姿勢間切换，檢查校準效果\n及時保存修正值\n後續使用無需再校準',
    'Boot prompt': '開機提醒',
    'poweron':'機器人必須由電池供電才能旋轉它的關節，\n\n這對於控制關節運動至關重要！\n\n主機板上的黃色 LED 應亮起。\n\n否則，請插入電池，並長按電池上的按鈕 \n\n3秒給機器人開機。\n\n',
}


textDE = {
    'lan':'German',
    'lanOption':'Deutsh',
    'lanMenu':'Sprache',
    'uiTitle':'Petoi Desktop-App',
    'calibTitle':'Gelenkkalibrator',
    'skillComposerTitle':'Petoi Einstellungen Fähigkeiten für OpenCat',
    'Model':'Modell',
    'Robotic Arm':'Roboterarm',
    'Utility':'Werkzeug',
    'Joint Calibrator':'Gelenkkalibrator',
    'Skill Composer':'Einstellungen Fähigkeiten',
    'Task Scheduler':'Aufgabenplaner',
    'Scheduler':'Planer',
    'Firmware Uploader':'Firmware-Uploader',
    'Debugger': 'Werkzeuge',
    'tipDebugger':'Bequeme Werkzeuge zur Fehlerbehebung des Roboters bereitstellen.',
    'tipRstVoice':'Klicken Sie auf diese Schaltfläche, um das Sprachmodul zurückzusetzen.',
    'Calibrate gyroscope':'Gyroskop kalibrieren',
    'tipImuCali': 'Das Gyroskop (IMU) kalibrieren.',
    'Eye color picker':'Augenfarbauswahl',
    'Creator Information':'Erstellerinformationen',
    'Creator':'Schöpfer',
    'Location':'Standort',
    'Nature': 'Natur',
    'Earth': 'Erde',
    'InputCreator': 'Bitte geben Sie den Spitznamen des Erstellers ein',
    'InputLocation': 'Bitte geben Sie den Standort des Erstellers ein',
    'Exit':'Beenden',
    'Help':'Hilfe',
    'About':'Über',
    'Repeat':'Wiederholen',
    'Loop':'Schleife',
    'Frame':'Frame',
    'Step':'Schritt',
    'Delay':'Verzögerung',
    'Trig':'Auslöser',
    'Angle':'Winkel',
    'Note':'Notiz',
    'Del':'Löschen',
    'Add':'Hinzufügen',
    'Set':'Einstellen',
    'Save':'Speichern',
    'Stop':'Stoppen',
    'Joint Controller':'Gelenk-Controller',
    'Unbind All':'Alle lösen',
    'Yaw':'Gier',
    'Pitch':'Nick',
    '-Pitch':'-Nick',
    'Roll':'Roll',
    '-Roll':'-Roll',
    'Spinal':'Wirbelsäule',
    'Height':'Höhe',
    'Sideway':'Seitwärts',
    'Head Pan':'Kopf-Pan',
    'Head Tilt':'Kopf-Neigung',
    'Tail Pan':'Schwanz-Pan',
    'Claw Pan': 'Greifer drehen',
    'Claw Lift': 'Greifer heben',
    'Claw Open': 'Greifer öffnen',
    'N/A':'N/V',
    'Left Front':'Links vorne',
    'Right Front':'Rechts vorne',
    'Right Back':'Rechts hinten',
    'Left Back':'Links hinten',
    'Shoulder':'Schulter',
    'Arm':'Arm',
    'Knee':'Knie',
    'State Dials':'Zustandsregler',
    'Connect':'Verbinden',
    'Connected':'Verbunden',
    'Listening':'Hören',
    'All':'Alle',
    'None':'Keine',
    'Servo':'Servo',
    'Gyro':'Gyro',
    'Random':'Zufällig',
    'Send':'Schicken',
    'Postures':'Voreingestellte Haltungen',
    'balance': 'Ständer',
    'buttUp': 'Gesäß hochheben',
    'dropped': 'gefallen',
    'lifted': 'gehoben',
    'rest': 'liegen',
    'sit': 'sitzen',
    'str': 'sich strecken',
    'zero':'Neutralhaltung',
    'flat':'flach liegend',
    'table':'Tisch',

    'Skill Editor':'Skill-Editor',
    'Play':'Abspielen',
    'Pause':'Pausieren',
    'Import':'Importieren',
    'Restart':'Neustart',
    'Export':'Exportieren',
    'Undo':'Rückgängig',
    'Redo':'Wiederholen',
    'Open File':'Datei öffnen',
    'Cancel':'Abbrechen',
    'OK':'OK',
    'Refresh':'Aktualisieren',
    'Multiple':'Mehrere',
    'Skill List':'Skill-Liste',
    'Type of skill':'Art des Skills',
    'Name of skill':'Name des Skills',
    'exampleFormat':'Importiere aus Dateien oder kopiere die Skill-Daten von instinct.h im folgenden Format.\n* Behalte die geschweiften Klammern bei!',
    'Quit':'Beenden',
    'Do you want to quit?':'Möchten Sie beenden?',
    'mirror':'Spiegeln',
    '>|<':'>|<',
    'Posture': '  Posture',
    'Gait':'Gangart',
    'Behavior':'Verhalten',
    'Clear':'Löschen',
    'max':'max.',

    'Manual mode':'Manueller Modus',
    'Replug mode':'Replug-Modus',
    # 'Replug prompt':'''WARNUNG: Verbindung fehlgeschlagen! \n\n
    'Replug prompt':'''WARNUNG: \n\n
* Wenn die Hauptplatine NICHT mit dem Computer verbunden ist:\n
Klicken Sie auf die Schaltfläche unten. Verbinden Sie das USB-Kabel mit der Hauptplatine und stecken Sie dann das andere Ende in den COMPUTER. \n\n
* Wenn die Hauptplatine bereits über ein USB-Kabel mit dem Computer verbunden ist:\n
1. Vergewissern Sie sich, dass Ihr Computer das USB-Gerät erkennen kann.\n
Weitere Einzelheiten finden Sie unter https://docs.petoi.com/upload-firmware.\n
2. Nachdem Sie auf die Schaltfläche unten geklickt haben, ziehen Sie das USB-Kabel von der COMPUTER-Seite ab und stecken Sie es dann wieder ein.\n
Das Programm wird den richtigen seriellen Portnamen automatisch erkennen.''',
    'Confirm':'Bestätigen',
    'Counting down to manual mode: ':'Countdown zum manuellen Modus: ',
    'Info':'Information',
    'New port prompt':'Entdecken Sie das neue USB-Gerät: ',
    'Please select the port from the list':'Bitte wählen Sie den Port aus der Liste aus',
    '* Port ':'* Hafen ',
    ' cannot be opened':' Kann nicht geöffnet werden',

    'Reset voice module':'Sprachmodul zurücksetzen',
    'Voice indicates':'''Hören Sie die Melodie "1-3-5"?
Wenn ja, drücken Sie die Taste "Ja", um fortzufahren.
Wenn nicht, drücken Sie die Schaltfläche "Nein" zum Beenden. Überprüfen Sie bei BiBoard V0, 
ob der DIP-Schalter an der Unterseite der BiBoard-Erweiterung auf Voice und nicht auf UART2 eingestellt ist.
https://docs.petoi.com/extensible-modules/voice-command-module#how-to-debug-if-the-voice-command-doesnt-work''',
    'IMU indicates':'''Möchten Sie das Gyroskop (IMU) kalibrieren?\n
Wenn ja, stellen Sie den Roboter auf eine ebene Fläche und drücken Sie ihn nach unten,\n
um sicherzustellen, dass er horizontal ausgerichtet ist.\n
Bittle wird im folgenden Beispiel gezeigt.\n
Drücken Sie dann die Schaltfläche "Ja", um fortzufahren;\n
Drücken Sie andernfalls die Schaltfläche "Nein", um abzubrechen.''',
    'Yes': 'Ja',
    'No': 'Nein',
    'Reset successfully': 'Reset erfolgreich!',
    'IMU Calibration successfully':'Die Gyroskopkalibrierung ist erfolgreich!',
    'IMU Calibration failed': 'Die Gyroskopkalibrierung ist fehlgeschlagen!',
    'logLocation':'Bitte überprüfen Sie die Log-Datei (logfile.log) im folgenden Dateipfad: \n',
    'checkLogfile':'''\nWeitere Einzelheiten finden Sie unter https://docs.petoi.com/desktop-app/firmware-uploader#check-the-log-file \n
Wenn Sie das Problem nicht beheben können, senden Sie das Protokoll bitte zur Hilfe an support@petoi.com.''',

    'Calibrate':'Kalibrieren',
    'Auto':'Auto',
    'AutoCali failed': '''Die automatische Kalibrierung des Servomotors für das Gelenk des Robotergreifers ist fehlgeschlagen!\n
    Bitte folgen Sie den Anweisungen in der Bedienungsanleitung, um eine manuelle Kalibrierung durchzuführen: \n
    https://docs.petoi.com/extensible-modules/robot-arm#fine-calibration''',
    'Rest':'Ruhe',
    'Stand Up':'Aufstehen',
    'Walk':'Gehen',
    'Abort':'Abbrechen',
    'Do you want to save the offsets?':'Möchten Sie die Abweichungen speichern?',
    'uploaderTitle': 'Firmware-Uploader',
    'labTrans': 'Sprache ändern',
    'labChi': 'Chinesisch',
    'labEng': 'Englisch',
    'labHelp': 'Hilfe',
    'labAbout': 'Über',
    'labExit': 'Beenden',
    'labFileDir': 'Wählen Sie das Freigabe-Verzeichnis',
    'btnFileDir': '...',
    'titleFileDir': 'Bitte wählen Sie das Freigabe-Verzeichnis',
    'labPort': 'Serielle Schnittstelle',
    'labSoftwareVersion': 'Software-Version',
    'labBoardVersion': 'Board-Version',
    'labProduct': 'Produkt',
    'labMode': 'Modus',
    'rbnWalk': 'Gehen',
    'rbnUltrasonic': 'Ultraschall',
    'rbnCamera': 'Kamera',
    'Parameters':'Parameter',
    'Main function':'Hauptfunktion',
    'Time consuming': 'es dauert etwa 30 Sekunden',
    'btnFacReset':'Werkseinstellungen zurückgesetzt',
    'tipFacReset':''' Nach dem Zurücksetzen auf die Werkseinstellungen müssen Sie eine gemeinsame Kalibrierung durchführen. 
 Weitere Informationen finden Sie unter: https://docs.petoi.com/joint-calibration ''',
    'btnUpgrade':'Aktualisieren Sie die Firmware',
    'tipUpgrade':''' Aktualisieren Sie die Parameter und die Firmware des Hauptprogramms. 
 * Obligatorisch, wenn Sie gerade eine neue Version dieser Software heruntergeladen haben. 
 * Sie können "N" wählen, um die Kalibrierungswerte beizubehalten. ''',
    'btnUpdateMode': 'Aktualisieren Sie nur den Modus',
    'tipUpdateMode':''' Für NyBoard:
 Wenn Sie die Firmware nach einem erneuten Download mindestens einmal aktualisiert haben, 
 Es ist schneller, nur die Modi zu wechseln, ohne die Parameter zu aktualisieren. 
 Für BiBoard: 
 Die Funktion dieser Taste ist dieselbe wie die Funktion der Taste "Aktualisieren Sie die Firmware".''',
    'Warning': 'Warnung',
    'Uploading': 'Hochladen ',
    'is successully uploaded':' erfolgreich hochgeladen',
    'failed to upload':' konnte nicht hochgeladen werden',
    'Need to manually select the model type (Nybble/Bittle)':'Sie müssen den Modelltyp manuell auswählen (Nybble/Bittle)',
    'msgFileDir': 'Bitte wählen Sie das Freigabe-Verzeichnis!',
    'msgPort': 'Bitte wählen Sie die korrekte serielle Schnittstelle!',

    'msgNoneAvrdude': '''Es gibt kein Avrdude. Bitte installieren Sie zuerst avrdude! Einzelheiten finden Sie unter :
    https://docs.petoi.com/desktop-app/firmware-uploader#install-avrdude-in-the-linux-os''',
    'msgNoneEsptool':'Es gibt kein Esptool. Bitte installieren Sie zuerst esptool!',

    'titleVersion': 'Versionsinformation',

    'msgVersion': 'Version: ' + versionNum + '\n'+
    '''Firmware-Uploader für OpenCat
    Copyright © 2018-2025
    Alle Rechte vorbehalten
    Petoi LLC
    https://www.petoi.com\n''' + dateStr,

    'reset joints?': 'Gelenkabweichungen zurücksetzen? (J/N)',
    'reseting joints': 'Gelenkabweichungen werden zurückgesetzt...',
    'joints reset': 'Gelenkabweichungen erfolgreich zurückgesetzt!',

    'update instincts?':'Instinkte aktualisieren? (J/n)',
    'updating instincts':'Instinkte werden aktualisiert...',
    'instincts updated': 'Instinkte aktualisiert',

    'calibrate IMU?':'''Gyroskop (IMU) kalibrieren? (J/N)
    Hinweis: Legen Sie das Mainboard FLACH auf einen Tisch!''',
    'calibrating IMU': 'IMU wird kalibriert...',
    'IMU calibrated': 'IMU erfolgreich kalibriert!',
    'caliIMUerrorStatus':'IMU-Kalibrierungsfehler!',

    'parameterFinish': '''Parameter initialisiert! \n
Nach Klicken auf den "OK"-Button wird die Hauptfunktionsfirmware automatisch hochgeladen.''',
    '9685 Calibrated':'PCA9685 wurde erfolgreich kalibriert!',
    'msgFinish': 'Firmware-Hochladen abgeschlossen!',
    'msgMode': 'Ungültig, bitte wählen Sie einen anderen Modus!',
    'caliIMUerrorMessage': '''Bitte schalten Sie den I2C-Schalter auf die Arduino-Seite. Weitere Informationen finden Sie unter:\n
https://docs.petoi.com/desktop-app/firmware-uploader#nyboard-version \n
Aktualisieren Sie dann die Firmware erneut.\n''',

    'Standard':'Standard',
    'RandomMind':'Zufallsmodus',
    'Ultrasonic':'Ultraschall-Modus',
    'Voice':'Sprachmodus',
    'Camera':'Kamera',
    'Mind+':'Mind+',
    'RandomMind_Ultrasonic':'Zufallsmodus_Ultraschall',
	'PIR':'Passiv-infrarot',
    'Touch':'Berührung',
    'Light':'Licht',
    'Gesture':'Geste',
    'InfraredDistance':'Infrarot-Entfernung',
    'Voice_RobotArm':'Sprachmodus_Roboterarm',

    'Breath':'Atmen',
    'Rotate':'Drehen',
    'Flash':'Blitzen',
    'Meow':'Miauen',

    'labEdit':'Bearbeiten',
    'labTheme':'Thema',
    # '':'',
    'tipConnect':'Aktive serielle Verbindungen aktualisieren,\nbis diese deaktiviert ist',
    'tipPortMenu':'Steuerung einzelner oder aller Geräte',
    'tipServo':'Servos aktivieren/deaktivieren',
    'tipGyro':'Gyroskop aktivieren/deaktivieren',
    'tipRandom':'Zufallsverhalten aktivieren/deaktivieren\n*',
    'tipBinder':'Mit anderen Gelenken verbinden',
    'tipRevBinder':'Umgekehrt mit anderen Gelenken verbinden',
    'tipPlay':'Gehe durch den Ablaufplan des aktiven Frames\nDas Abspielen kann jederzeit gestoppt werden',
    'tipImport':'Fähigkeiten aus Dateien oder Texten importieren',
    'tipRestart':'Lösche alle Frames im Ablaufplan!',
    'tipExport':'Die Fähigkeit wird in Echtzeit gesendet und\nim statischen Speicher des Roboters gespeichert\nVerwenden Sie den seriellen Token \'T\', um die zuletzt gesendete Fähigkeit aufzurufen',
    'tipMirror':'Spiegeln des aktuellen Frames',
    'tipMirrorXport':'Spiegeln der gesamten Fähigkeit beim Exportieren\n* Wirksam beim Exportieren der gesamten Fähigkeit',
    'tipGorB':'Ein Verhalten interpoliert zwischen den Keyframes und wird nur einmal ausgeführt.\nEin Gang durchläuft alle Frames ohne Glättung.',
    'tipLoop':'Setze Start- und Endframes für die Schleife\n* Wirksam beim Exportieren der gesamten Fähigkeit',
    'tipRepeat':'Geben Sie die Anzahl der Schleifen ein\n-1 für unendliche Schleife. Nur die "Reset"-Taste kann die Schleife unterbrechen!\n* Wirksam beim Exportieren der gesamten Fähigkeit',
    'tipSet':'Springe zu/speichere den aktuellen Frame',
    'tipStep':'Einheit: Grad/Schritt\n* Wirksam beim Exportieren der gesamten Fähigkeit',
    'tipDelay':'Einheit: Millisekunde\nVerzögerung nach dem aktuellen Frame, bevor der nächste Frame betreten wird.\nWenn der Auslöser gültig ist, beginnt die Verzögerung nach dem Auslöser\n* Wirksam beim Exportieren der gesamten Fähigkeit',
    'tipTrig':'Trigger den nächsten Frame nur, wenn der Körper\nin eine bestimmte Richtung über den Auslösewinkel rollt\n* Wirksam beim Exportieren der gesamten Fähigkeit',
    'tipTrigAngle':'Der kritische Winkel um auszulösen',
    'tipNote': 'Gib dem Frame einen einfach zu merkenden Namen',
    'tipAdd': 'Kopiere den aktiven Frame und\nfüge ihn in die nächste Zeile ein',
    'tipDel': 'Lösche den aktuellen Frame',
    'tipImgWiring': 'Achte auf den Standort und die Ausrichtung der Servostecker\nHalte die Taste des Akkus lange gedrückt, um die Stromversorgung einzuschalten\nKlicke auf "Kalibrieren", um alle Servos in den Kalibrierungsmodus zu drehen\nBefestige die Beine und den Kopf senkrecht\nVerwende den Schieberegler, um die Kanten der Beine und der Referenzskala parallel auszurichten',
    'tipImgPosture': 'Wechsle zwischen Haltungen, um die Kalibrierungsergebnisse zu testen\nSpeichere die Abweichungen rechtzeitig\nKeine Notwendigkeit für zukünftige Kalibrierung',
    'Boot prompt': 'Boot-Eingabeaufforderung',
    'poweron':'Der Roboter muss mit einer Batterie betrieben werden, um seine Gelenke zu drehen, \n\ndies ist für die Kontrolle der Gelenkbewegung von entscheidender Bedeutung!\n\nDie gelbe LED auf der Hauptplatine sollte aufleuchten, \n\nandernfalls stecken Sie den Akku ein und drücken Sie die \n\nTaste 3 Sekunden lang, um den Roboter einzuschalten.\n\n',
}

textTH = {
    'lan':'Thai',    #'ภาษาไทย'
    'lanOption':'ภาษาไทย',
    'lanMenu':'ภาษา',
    'uiTitle':'แอพพลิเคชั่น Petoi Desktop',
    'calibTitle':'การปรับสอดคล้องข้อต่อ',
    'skillComposerTitle':'คอมโพเซอร์ Petoi Skill สำหรับ OpenCat',
    'Model':'รุ่น',
    'Robotic Arm':'แขนหุ่นยนต์ ',
    'Utility':'ยูทิลิตี้',
    'Joint Calibrator':'การปรับสอดคล้องข้อต่อ',
    'Skill Composer':'คอมโพเซอร์สกิล',
    'Task Scheduler':'ตัวจัดตารางงาน',
    'Scheduler':'ตัวจัดตาราง',
    'Firmware Uploader':'ตัวอัปโหลดเฟิร์มแวร์',
    'Debugger': 'เครื่องมือ',
    'tipDebugger':'จัดเตรียมเครื่องมือที่สะดวกสำหรับดีบักหุ่นยนต์ .',
    'tipRstVoice':'กดปุ่มนี้เพื่อรีเซ็ตโมดูลเสียง (กดปุ่มนี้เพื่อรีเซ็ตโมดูลเสียง.',
    'Calibrate gyroscope':'ปรับเทียบไจโรสโคป',
    'tipImuCali': 'ปรับเทียบไจโรสโคป (IMU).',
    'Eye color picker':'ตัวเลือกสีตา',
    'Creator Information':'ข้อมูลผู้สร้าง',
    'Creator':'ผู้สร้าง',
    'Location':'ที่ตั้ง',
    'Nature': 'ธรรมชาติ',
    'Earth': 'โลก',
    'InputCreator': 'กรุณาใส่ชื่อเล่นของผู้สร้าง',
    'InputLocation': 'โปรดป้อนตำแหน่งของผู้สร้าง',
    'Exit':'ออก',
    'Help':'วิธีใช้',
    'About':'เกี่ยวกับ',
    'Repeat':'ทำซ้ำ',
    'Loop':'วนซ้ำ',
    'Frame':'เฟรม',
    'Step':'ขั้นตอน',
    'Delay':'ความล่าช้า',
    'Trig':'ตัวกระตุ้น',
    'Angle':'มุม',
    'Note':'บันทึก',
    'Del':'ลบ',
    'Add':'เพิ่ม',
    'Set':'ตั้งค่า',
    'Save':'บันทึก',
    'Stop':'หยุด',
    'Joint Controller':'ตัวควบคุมข้อต่อ',
    'Unbind All':'ยกเลิกการผูกทั้งหมด',
    'Yaw':'หันเห',
    'Pitch':'ขว้าง',
    '-Pitch':'-ขว้าง',
    'Roll':'ม้วน',
    '-Roll':'-ม้วน',
    'Spinal':'ระดับกระดูกสันหลัง',
    'Height':'ความสูง',
    'Sideway':'ด้านข้าง',
    'Head Pan':'หมุนศีรษะ',
    'Head Tilt':'เอียงศีรษะ',
    'Tail Pan':'หมุนหาง',
    'Claw Pan': 'หมุนกรงเล็บ',
    'Claw Lift': 'ยกกรงเล็บ',
    'Claw Open': 'เปิดกรงเล็บ',
    'N/A':'N/A',
    'Left Front':'ด้านหน้าซ้าย',
    'Right Front':'ด้านหน้าขวา',
    'Right Back':'ด้านหลังขวา',
    'Left Back':'ด้านหลังซ้าย',
    'Shoulder':'ไหล่',
    'Arm':'แขน',
    'Knee':'เข่า',
    'State Dials':'ปุ่มควบคุมสถานะ',
    'Connect':'เชื่อมต่อ',
    'Connected':'เชื่อมต่อแล้ว',
    'Listening':'กำลังฟัง',
    'All':'ทั้งหมด',
    'None':'ไม่มี',
    'Servo':'เซอร์โว',
    'Gyro':'ไจโรสโคป',
    'Random':'สุ่ม',
    'Send':'ส่ง',
    'Postures':'ท่าทางที่ตั้งค่าไว้',
    'balance': 'ขาตั้ง',
    'buttUp': 'ยกสะโพกขึ้น',
    'dropped': 'หล่น',
    'lifted': 'ยก',
    'rest': 'นอน',
    'sit': 'นั่ง',
    'str': 'ยืด',
    'zero':'ท่าทางปกติ',
    'flat':'ราบ',
    'table':'โต๊ะ',

    'Skill Editor':'ตัวแก้ไขสกิล',
    'Play':'เล่น',
    'Pause':'หยุดชั่วคราว',
    'Import':'นำเข้า',
    'Restart':'เริ่มใหม่',
    'Export':'ส่งออก',
    'Undo':'ยกเลิก',
    'Redo':'ทำซ้ำ',
    'Open File':'เปิดไฟล์',
    'Cancel':'ยกเลิก',
    'OK':'ตกลง',
    'Refresh':'รีเฟรช',
    'Multiple':'หลายตัว',
    'Skill List':'รายการสกิล',
    'Type of skill':'ประเภทของสกิล',
    'Name of skill':'ชื่อของสกิล',
    'exampleFormat':'นำเข้าจากไฟล์หรือคัดลอกและวางข้อมูลสกิลจาก instinct.h ในรูปแบบต่อไปนี้\n* ให้คงเครื่องหมายวงเล็บปีกกา!',
    'Quit':'ออก',
    'Do you want to quit?':'คุณต้องการออกหรือไม่?',
    'mirror':' สะท้อนทั้งหมด',
    '>|<':'>|<',
    'Posture': ' ท่าทาง',
    'Gait':' รูปแบบการเดิน',
    'Behavior':' พฤติกรรม',
    'Clear':'ล้าง',
    'max':'สูงสุด',

    'Manual mode':'โหมดแมนนวล',
    'Replug mode':'โหมดเสียบปลั๊ก',
    # 'Replug prompt':'''แจ้งเตือน: การเชื่อมต่อล้มเหลว! \n\n
    'Replug prompt':'''แจ้งเตือน: \n\n
* ถ้าเมนบอร์ดไม่ได้เชื่อมต่อกับคอมพิวเตอร์:\n
คลิกปุ่มด้านล่าง ต่อสาย USB เข้ากับเมนบอร์ด จากนั้นเสียบปลายอีกด้านเข้ากับคอมพิวเตอร์ \n\n
* หากเมนบอร์ดเชื่อมต่อกับคอมพิวเตอร์ผ่านสาย USB อยู่แล้ว:\n
1. ยืนยันว่าคอมพิวเตอร์ของคุณสามารถรู้จักอุปกรณ์ USB ได้\n
ดูรายละเอียดเพิ่มเติมได้ที่ https://docs.petoi.com/upload-firmware \n
2. หลังจากคลิกปุ่มด้านล่าง ให้ถอดสาย USB จากฝั่งคอมพิวเตอร์ แล้วเสียบกลับเข้าไปใหม่ \n
โปรแกรมจะระบุชื่อพอร์ตสื่อสารที่ถูกต้องโดยอัตโนมัติ ''',
    'Confirm':'ยืนยัน',
    'Counting down to manual mode: ':'นับถอยหลังสู่โหมดแมนนวล: ',
    'Info':'ข้อมูล',
    'New port prompt':'ค้นพบอุปกรณ์ USB ใหม่: ',
    'Please select the port from the list':'โปรดเลือกพอร์ตจากรายการ',
    '* Port ':'* ท่าเรือ ',
    ' cannot be opened':' ไม่สามารถเปิดได้',

    'Reset voice module':'รีเซ็ตโมดูลเสียง',
    'Voice indicates':'''คุณได้ยินท่วงทำนอง "1-3-5" หรือไม่?
ใช่: กดปุ่ม "ใช่" เพื่อดำเนินการต่อ
ถ้าไม่มี ให้กดปุ่ม "ไม่" เพื่อออก สำหรับ BiBoard V0 โปรดตรวจสอบสวิตช์แบบหมุนที่ด้านล่างของส่วนขยาย BiBoard ว่าหมุนไปที่ Voice ไม่ใช่ UART2
https://docs.petoi.com/extensible-modules/voice-command-module#how-to-debug-if-the-voice-command-doesnt-work''',
    'IMU indicates':'''คุณต้องการปรับเทียบไจโรสโคป (IMU) หรือไม่?\n
ถ้าต้องการ โปรดวางหุ่นยนต์บนพื้นผิวที่เรียบและกดลงเพื่อให้แน่ใจว่ามันอยู่ในแนวนอน\n
ตัวอย่างด้านล่างแสดง Bittle\n
จากนั้นกดปุ่ม "ใช่" เพื่อดำเนินการต่อ\n
ถ้าไม่ต้องการ กดปุ่ม "ไม่ใช่" เพื่อยกเลิก''',
    'Yes': 'ใช่',
    'No': 'ไม่ใช่',
    'Reset successfully': 'รีเซ็ตสำเร็จ!',
    'IMU Calibration successfully':'การปรับเทียบไจโรสโคปสำเร็จ!',
    'IMU Calibration failed': 'การปรับเทียบไจโรสโคปล้มเหลว!',
    'logLocation':'โปรดตรวจสอบไฟล์บันทึก (logfile.log) ในเส้นทางไฟล์ต่อไปนี้: \n',
    'checkLogfile':'''\nสำหรับรายละเอียดเพิ่มเติม โปรดดูที่ https://docs.petoi.com/desktop-app/firmware-uploader#check-the-log-file \n
หากคุณไม่สามารถแก้ไขปัญหาได้ โปรดส่งไฟล์บันทึกไปยัง support@petoi.com เพื่อขอความช่วยเหลือ''',

    'Calibrate':'ปรับสอดคล้อง',
    'Auto':'อัตโนมัติ',
    'AutoCali failed': '''การสอบเทียบเซอร์โวมอเตอร์ข้อต่อของกรงเล็บหุ่นยนต์โดยอัตโนมัติล้มเหลว!\n
    กรุณาปฏิบัติตามคำแนะนำในคู่มือเพื่อทำการสอบเทียบด้วยตนเอง: \n
    https://docs.petoi.com/extensible-modules/robot-arm#fine-calibration''',
    'Rest':'พัก',
    'Stand Up':'ยืนขึ้น',
    'Walk':'เดิน',
    'Abort':'ยกเลิก',
    'Do you want to save the offsets?':'คุณต้องการบันทึกการปรับเทียบหรือไม่?',
    'uploaderTitle': 'ตัวอัปโหลดเฟิร์มแวร์',
    'labTrans': 'เปลี่ยนภาษา',
    'labChi': 'จีน',
    'labEng': 'อังกฤษ',
    'labHelp': 'ช่วยเสนอ',
    'labAbout': 'เกี่ยวกับ',
    'labExit': 'ออก',
    'labFileDir': 'เลือกโฟลเดอร์ปล่อย',
    'btnFileDir': '...',
    'titleFileDir': 'โปรดเลือกโฟลเดอร์ปล่อย',
    'labPort': 'ซีเรียลพอร์ต',
    'labSoftwareVersion': 'เวอร์ชันซอฟต์แวร์',
    'labBoardVersion': 'เวอร์ชันบอร์ด',
    'labProduct': 'ผลิตภัณฑ์',
    'labMode': 'โหมด',
    'rbnWalk': 'เดิน',
    'rbnUltrasonic': 'อัลตราโซนิก',
    'rbnCamera': 'กล้อง',
    'Parameters':'พารามิเตอร์',
    'Main function':'ฟังก์ชั่นหลัก',
    'Time consuming': 'จะใช้เวลาประมาณ 30 วินาที',
    'btnFacReset':'รีเซ็ตเป็นค่าเริ่มต้นจากโรงงาน',
    'tipFacReset':''' หลังจากการรีเซ็ตเป็นค่าเริ่มต้นจากโรงงาน คุณต้องทำการปรับเทียบร่วม โปรดดูที่: 
 https://docs.petoi.com/joint-calibration ''',
    'btnUpgrade':'อัพเกรดเฟิร์มแวร์',
    'tipUpgrade':''' อัปเกรดพารามิเตอร์และเฟิร์มแวร์โปรแกรมหลัก
 * จำเป็นหากคุณเพิ่งดาวน์โหลดเวอร์ชันใหม่ของซอฟต์แวร์นี้ 
 * คุณสามารถเลือก "N" เพื่อรักษาค่าการสอบเทียบ ''',
    'btnUpdateMode': 'อัปเดตโหมดเท่านั้น',
    'tipUpdateMode':''' สำหรับ NyBoard:
 หากคุณได้อัปเกรดเฟิร์มแวร์อย่างน้อยหนึ่งครั้งหลังจากดาวน์โหลดใหม่ 
 การสลับโหมดเพียงอย่างเดียวโดยไม่รีเฟรชพารามิเตอร์จะเร็วกว่า 
 สำหรับ BiBoard: 
 ฟังก์ชันของปุ่มนี้เหมือนกับฟังก์ชันของปุ่ม "อัปเกรดเฟิร์มแวร์"
 ''',
    'Warning': 'คำเตือน',
    'Uploading': 'กำลังอัพโหลด',
    'is successully uploaded':' อัพโหลดสำเร็จ',
    'failed to upload':' ไม่สามารถอัพโหลด',
    'Need to manually select the model type (Nybble/Bittle)': 'ต้องเลือกประเภทรุ่นด้วยตนเอง (Nybble/Bittle)',
    'msgFileDir': 'โปรดเลือกโฟลเดอร์ปล่อย!',
    'msgPort': 'โปรดเลือกพอร์ตอนุกรมที่ถูกต้อง!',

    'msgNoneAvrdude': '''ไม่มี avrdude โปรดติดตั้ง avrdude ในตอนแรก! สำหรับรายละเอียด โปรดดูที่:
    https://docs.petoi.com/desktop-app/firmware-uploader#install-avrdude-in-the-linux-os''',
    'msgNoneEsptool':'ไม่มีที่วางมือ โปรดติดตั้ง esptool ในตอนแรก!',

    'titleVersion': 'ข้อมูลเวอร์ชัน',

    'msgVersion': 'เวอร์ชัน: ' + versionNum + '\n'+
    '''เครื่องมืออัพโหลดเฟิร์มแวร์สำหรับ OpenCat
    ลิขสิทธิ์ ©  2018-2025
    สงวนลิขสิทธิ์ทั้งหมด Petoi LLC
    https://www.petoi.com\n''' + dateStr,

    'reset joints?': 'ตั้งค่าเทียบข้อต่อใหม่หรือไม่? (Y/N)',
    'reseting joints': 'กำลังตั้งค่าเทียบข้อต่อใหม่...',
    'joints reset': 'ตั้งค่าเทียบข้อต่อใหม่เสร็จสมบูรณ์!',

    'update instincts?':'อัปเดตตัวอย่างหรือไม่? (Y/N)',
    'updating instincts':'กำลังอัปเดตตัวอย่าง...',
    'instincts updated': 'อัปเดตตัวอย่างแล้ว',

    'calibrate IMU?':'''ปรับเทียบไจโรสโคป (IMU) หรือไม่? (Y/N)
    หมายเหตุ: วางเมนบอร์ดให้ราบไปกับบนโต๊ะ!''',
    'calibrating IMU': 'กำลังปรับแต่ง IMU...',
    'IMU calibrated': 'ปรับแต่ง IMU เสร็จสมบูรณ์!',
    'caliIMUerrorStatus':'ข้อผิดพลาดในการ калиเบรท IMU!',

    'parameterFinish': '''ตั้งค่าพารามิเตอร์เสร็จแล้ว! \n
หลังจากคลิกปุ่ม "ตกลง" แล้ว เฟิร์มแวร์ฟังก์ชันหลักจะถูกอัปโหลดโดยอัตโนมัติ ''',
    '9685 Calibrated':'PCA9685 ได้รับการปรับเทียบเรียบร้อยแล้ว!',
    'msgFinish': 'การโหลดเฟิร์มแวร์เสร็จสมบูรณ์!',
    'msgMode': 'ไม่ถูกต้อง โปรดเลือกโหมดอื่น!',
    'caliIMUerrorMessage': '''โปรดเปลี่ยนสวิตช์ I2C ไปที่ด้าน Arduino สำหรับรายละเอียดเพิ่มเติม โปรดดูที่:\n
https://docs.petoi.com/desktop-app/firmware-uploader#nyboard-version \n
จากนั้นอัปเกรดเฟิร์姆แวร์ใหม่อีกครั้ง\n''',

    'Standard':'มาตรฐาน',
    'RandomMind':'จิตใจสุ่ม',
    'Ultrasonic':'อัลตราโซนิก',
    'Voice':'เสียง',
    'Camera':'กล้อง',
    'Mind+':'Mind+',
    'RandomMind_Ultrasonic':'จิตใจสุ่ม_อัลตราโซนิก',
	'PIR':'อินฟราเรดแบบพาสซีฟ',
    'Touch':'สัมผัส',
    'Light':'แสง',
    'Gesture':'ท่าทาง',
    'InfraredDistance':'ระยะทางอินฟราเรด',
    'Voice_RobotArm':'เสียง_แขนหุ่นยนต์',

    'Breath':'หายใจ',
    'Rotate':'หมุน',
    'Flash':'รวดเร็ว',
    'Meow':'เหมียว',

    'labEdit':'แก้ไข',
    'labTheme':'ธีม',
    # '':'',
    'tipConnect':'อัปเดตพอร์ตอนุกรมที่เชื่อมต่ออยู่\nจนกว่าจะปิดใช้งาน',
    'tipPortMenu':'ควบคุมอุปกรณ์เดียวหรือทั้งหมด',
    'tipServo':'เปิด/ปิดเซอร์โว',
    'tipGyro':'เปิด/ปิดไจโรสโคป',
    'tipRandom':'เปิด/ปิดพฤติกรรมสุ่ม\n* ในบางโหมด',
    'tipBinder':'ผูกกับข้อต่ออื่น ๆ',
    'tipRevBinder':'ผูกกับข้อต่ออื่น ๆ อย่างตรงข้าม',
    'tipPlay':'เล่นตารางงานจากเฟรมที่ใช้งานอยู่\nคุณสามารถหยุดขณะเล่น',
    'tipImport':'นำเข้าทักษะจากไฟล์หรือข้อความ',
    'tipRestart':'ล้างเฟรมทั้งหมดในตารางงาน!',
    'tipExport':'ทักษะจะถูกส่งและบันทึก\nในหน่วยความจำสถิติของหุ่นยนต์\nใช้โทเค็นอนุกรม \'T\' เพื่อเรียกความสามารถสุดท้ายที่ถูกส่ง',
    'tipMirror':'สะท้อนเฟรมปัจจุบัน',
    'tipMirrorXport':'สะท้อนทักษะทั้งหมดขณะส่งออก\n* มีประสิทธิภาพเมื่อส่งออกทักษะทั้งหมด',
    'tipGorB':'พฤติกรรมทำการเชื่อมต่อระหว่างเฟรมคีย์และเล่นเพียงครั้งเดียว\nการเดินที่ไหลไปทั้งหมดโดยไม่มีการปรับเรียบ',
    'tipLoop':'ตั้งค่าเฟรมเริ่มต้นและสิ้นสุดสำหรับลูป\n* มีประสิทธิภาพเมื่อส่งออกทักษะทั้งหมด',
    'tipRepeat':'ป้อนจำนวนลูป\n-1 สำหรับลูปไม่จำกัด ปุ่ม "รีเซ็ต" เท่านั้นที่สามารถหยุดลูป!\n* มีประสิทธิภาพเมื่อส่งออกทักษะทั้งหมด',
    'tipSet':'เปลี่ยนไปยัง/บันทึกเฟรมปัจจุบัน',
    'tipStep':'หน่วย: องศา/ก้าว\n* มีประสิทธิภาพเมื่อส่งออกทักษะทั้งหมด',
    'tipDelay':'หน่วย: มิลลิวินาที\nหน่วยเวลาหลังจากเฟรมปัจจุบัน ก่อนเข้าสู่เฟรมถัดไป\nหากตัวกระตุ้นถูกต้อง ความล่าช้าเริ่มหลังจากตัวกระตุ้น\n* มีประสิทธิภาพเมื่อส่งออกทักษะทั้งหมด',
    'tipTrig':'เปิดใช้งานเฟรมถัดไปเมื่อตัวหุ่นยนต์หมุน\nเกินมุมที่กำหนดในทิศทางที่กำหนด\n* มีประสิทธิภาพเมื่อส่งออกทักษะทั้งหมด',
    'tipTrigAngle':'มุมวิกฤติสำหรับตัวกระตุ้น\n* มีประสิทธิภาพเมื่อส่งออกทักษะทั้งหมด',
    'tipNote':'ตั้งชื่อเฟรมให้ง่ายต่อการจำ',
    'tipAdd':'คัดลอกเฟรมที่ใช้งานอยู่และ\nแทรกลงในแถวถัดไป',
    'tipDel':'ลบเฟรมปัจจุบัน',

    'tipImgWiring':'ระมัดระวังตำแหน่งและทิศทางของตัวเชื่อมต่อเซอร์โว\nกดปุ่มแบตเตอรี่นานเพื่อเปิดเครื่อง\nคลิก "ปรับสอบ" เพื่อหมุนเซอร์โวทั้งหมดให้อยู่ในสถานะการปรับสอบ\nติดตั้งขาและหัวให้ตั้งฉาก\nใช้ตัวเลื่อนเพื่อปรับขอบขาให้สอดคล้องกันและตัวชี้วัดอ้างอิง',
    'tipImgPosture':'สลับระหว่างท่าทางต่าง ๆ เพื่อทดสอบผลการปรับสอบ\nบันทึกค่าออฟเซ็ตในเวลาจริง\nไม่จำเป็นต้องปรับสอบในอนาคต',
    'Boot prompt': 'พร้อมท์การบูต',
    'poweron':'หุ่นยนต์ต้องอาศัยพลังงานจากแบตเตอรี่ในการหมุนข้อต่อของมัน, \n\nสิ่งนี้มีความสำคัญอย่างยิ่งสำหรับการควบคุมการเคลื่อนไหวของข้อต่อ! \n\nไฟ LED สีเหลืองของเมนบอร์ดควรสว่างขึ้น \n\nถ้าไม่เช่นนั้น ให้ใส่แบตเตอรี่และกดแบตเตอรี่ค้างไว้ \n\nเป็นเวลา 3 วินาทีเพื่อขับเคลื่อนหุ่นยนต์ \n\n',
}

textFR={
    'lan':'French',
    'lanOption':'Français',
    'lanMenu':'Langue',
    'uiTitle':'Application Petoi pour ordinateur de bureau',
    'calibTitle':'Calibrateur d\'articulation',
    'skillComposerTitle':'Compositeur de compétences Petoi pour OpenCat',
    'Model':'Modèle',
    'Robotic Arm':'Bras robotique',
    'Utility':'Utilitaire',
    'Joint Calibrator':'Calibrateur d\'articulation',
    'Skill Composer':'Compositeur de compétences',
    'Task Scheduler':'Planificateur de tâches',
    'Scheduler':'Planificateur',
    'Firmware Uploader':'Chargeur de firmware',
    'Debugger': 'Outils',
    'tipDebugger':'Fournir des outils pratiques pour déboguer le robot.',
    'tipRstVoice':'Cliquez sur ce bouton pour réinitialiser le module vocal.',
    'Calibrate gyroscope':'Calibrer le gyroscope',
    'tipImuCali': 'Calibrer le gyroscope (IMU).',
    'Eye color picker':'Sélecteur de couleur des yeux',
    'Creator Information':'Informations sur le créateur',
    'Creator':'Créateur',
    'Location':'Emplacement',
    'Nature': 'Nature',
    'Earth': 'Terre',
    'InputCreator': 'Veuillez saisir le pseudo du créateur',
    'InputLocation': 'Veuillez saisir l\'emplacement du créateur',
    'Exit':'Quitter',
    'Help':'Aide',
    'About':'À propos',
    'Repeat':'Répéter',
    'Loop':'Boucle',
    'Frame':'Image',
    'Step':'Pas',
    'Delay':'Délai',
    'Trig':'Déclencheur',
    'Angle':'Angle',
    'Note':'Note',
    'Del':'Supprimer',
    'Add':'Ajouter',
    'Set':'Définir',
    'Save':'Enregistrer',
    'Stop':'Arrêter',
    'Joint Controller':'Contrôleur d\'articulation',
    'Unbind All':'Détacher tout',
    'Yaw':'Lacet',
    'Pitch':'Tangage',
    '-Pitch':'-Tangage',
    'Roll':'Roulis',
    '-Roll':'-Roulis',
    'Spinal':'Spinal',
    'Height':'Hauteur',
    'Sideway':'Côté',
    'Head Pan':'Rotation de la tête',
    'Head Tilt':'Inclinaison de la tête',
    'Tail Pan':'Rotation de la queue',
    'Claw Pan': 'Faire tourner la pince',
    'Claw Lift': 'Lever la pince',
    'Claw Open': 'Ouvrir la pince',
    'N/A':'N/A',
    'Left Front':'Avant gauche',
    'Right Front':'Avant droit',
    'Right Back':'Arrière droit',
    'Left Back':'Arrière gauche',
    'Shoulder':'Épaule',
    'Arm':'Bras',
    'Knee':'Genou',
    'State Dials':'Indicateurs d\'état',
    'Connect':'Connecter',
    'Connected':'Connecté',
    'Listening':'Écoute',
    'All':'Tout',
    'None':'Aucun',
    'Servo':'Servo',
    'Gyro':'Gyro',
    'Random':'Aléatoire',
    'Send':'Envoyer',
    'Postures':'Postures prédéfinies',
    'balance': 'Support',
    'buttUp': 'Soulever les fesses',
    'dropped': 'tombé',
    'lifted': 'soulevé',
    'rest': 'se reposer',
    'sit': 's\'asseoir',
    'str': 's\'étirer',
    'zero':'Position neutre',
    'flat':'à plat ventre',
    'table':'Table',

    'Skill Editor':'Éditeur de compétences',
    'Play':'Lecture',
    'Pause':'Pause',
    'Import':'Importer',
    'Restart':'Redémarrer',
    'Export':'Exporter',
    'Undo':'Annuler',
    'Redo':'Rétablir',
    'Open File':'Ouvrir un fichier',
    'Cancel':'Annuler',
    'OK':'OK',
    'Refresh':'Actualiser',
    'Multiple':'Multiple',
    'Skill List':'Liste de compétences',
    'Type of skill':'Type de compétence',
    'Name of skill':'Nom de la compétence',
    'exampleFormat':'Importer depuis des fichiers ou copier et coller les données de compétence à partir de instinct.h dans le format suivant.\n* Conserver les accolades !',
    'Quit':'Quitter',
    'Do you want to quit?':'Voulez-vous quitter ?',
    'mirror':' Tout inverser',
    '>|<':'>|<',
    'Posture': ' Posture',
    'Gait':' Démarche',
    'Behavior':' Comportement',
    'Clear':'Effacer',
    'max':'max',

    'Manual mode':'Mode manuel',
    'Replug mode':'Mode Replug',
    # 'Replug prompt':'''ATTENTION: Echec de la connexion! \n\n
    'Replug prompt':'''ATTENTION: \n\n
* Si la carte principale N'EST PAS connectée à l\'ordinateur :\n
Cliquez sur le bouton ci-dessous. Connectez le câble USB à la carte principale, puis branchez l\'autre extrémité sur l\'ORDINATEUR. \n\n
* Si la carte principale est déjà connectée à l\'ordinateur via un câble USB :\n
1. Confirmez que votre ordinateur peut reconnaître le périphérique USB.\n
Vous trouverez plus de détails à l\'adresse https://docs.petoi.com/upload-firmware. \n
2. Après avoir cliqué sur le bouton ci-dessous, débranchez le câble USB du côté de l\'ORDINATEUR, puis rebranchez-le.\n
Le programme identifiera automatiquement le nom correct du port série.''',
    'Confirm':'Confirmer',
    'Counting down to manual mode: ':'Compte à rebours jusqu\'au mode manuel : ',
    'Info':'Info',
    'New port prompt':'Découverte d\'un nouveau périphérique USB : ',
    'Please select the port from the list':'Veuillez sélectionner le port dans la liste',
    '* Port ':'* Port ',
    ' cannot be opened':' ne peut pas être ouvert',

    'Reset voice module':'Réinitialiser le module vocal',
    'Voice indicates':'''Entendez-vous la mélodie "1-3-5" ?
Si oui, appuyez sur le bouton "Oui" pour continuer.
Si non, appuyez sur le bouton "Non" pour quitter. Pour BiBoard V0, veuillez vérifier que le 
commutateur DIP situé sous la carte d\'extension BiBoard est réglé sur Voice et non sur UART2.
https://docs.petoi.com/extensible-modules/voice-command-module#how-to-debug-if-the-voice-command-doesnt-work''',
    'IMU indicates':'''Voulez-vous calibrer le gyroscope (IMU) ?\n
Si oui, placez le robot sur une surface plane et appuyez dessus pour vous assurer qu\'il est horizontal.\n
Bittle est montré dans l\'exemple ci-dessous.\n
Appuyez ensuite sur le bouton « Oui » pour continuer ;\n
Sinon, appuyez sur le bouton « Non » pour annuler.''',
    'Yes': 'Oui',
    'No': 'Non',
    'Reset successfully': 'Réinitialisation réussie !',
    'IMU Calibration successfully':'La calibration du gyroscope est réussie!',
    'IMU Calibration failed': 'La calibration du gyroscope a échoué!',
    'logLocation':'Veuillez vérifier le fichier journal (logfile.log) dans le chemin de fichier suivant : \n',
    'checkLogfile':'''\nPour plus de détails, veuillez consulter https://docs.petoi.com/desktop-app/firmware-uploader#check-the-log-file \n
Si vous ne parvenez pas à résoudre le problème, veuillez envoyer le journal à support@petoi.com pour obtenir de l\'aide.''',
    
    'Calibrate':'Calibrer',
    'Auto':'Automatique',
    'AutoCali failed': '''L\'étalonnage automatique du servomoteur de l\'articulation de la pince robotique a échoué !\n
    Veuillez suivre les instructions du manuel pour effectuer un étalonnage manuel: \n
    https://docs.petoi.com/extensible-modules/robot-arm#fine-calibration''',
    'Rest':'Repos',
    'Stand Up':'Se lever',
    'Walk':'Marcher',
    'Abort':'Annuler',
    'Do you want to save the offsets?':'Voulez-vous enregistrer les décalages ?',
    'uploaderTitle': 'Assistant de mise à jour du micrologiciel',
    'labTrans': 'Changer de langue',
    'labChi': 'Chinois',
    'labEng': 'Anglais',
    'labHelp': 'Aide',
    'labAbout': 'À propos',
    'labExit': 'Quitter',
    'labFileDir': 'Choisir le dossier de la version',
    'btnFileDir': '...',
    'titleFileDir': 'Veuillez choisir le dossier de la version',
    'labPort': 'Port série',
    'labSoftwareVersion': 'Version du logiciel',
    'labBoardVersion': 'Version de la carte',
    'labProduct': 'Produit',
    'labMode': 'Mode',
    'rbnWalk': 'Marcher',
    'rbnUltrasonic': 'Ultrasons',
    'rbnCamera': 'Caméra',
    'Parameters':'Paramètres',
    'Main function':'Fonction principale',
    'Time consuming': 'cela prendra environ 30 secondes',
    'btnFacReset':'Réinitialisation d\'usine',
    'tipFacReset':''' Après la réinitialisation d\'usine, vous devrez effectuer l\'étalonnage des articulations. Veuillez vous référer à :
     https://docs.petoi.com/joint-calibration ''',
    'btnUpgrade':'Mettre à jour le micrologiciel',
    'tipUpgrade':''' Mettre à niveau les paramètres et le firmware du programme principal.
     * Obligatoire si vous venez de télécharger une nouvelle version de ce logiciel.
     * Vous pouvez sélectionner "N" pour conserver les valeurs d\'étalonnage. ''',
    'btnUpdateMode': 'Mettre à jour uniquement le mode',
    'tipUpdateMode':''' Pour NyBoard:
 Si vous avez déjà mis à jour le micrologiciel au moins une fois après un nouveau téléchargement,
 il est plus rapide de simplement passer d\'un mode à l\'autre sans rafraîchir les paramètres. 
 Pour BiBoard: 
 La fonction de ce bouton est identique à celle du bouton "Mettre à jour le micrologiciel".''',
     'Warning': 'Avertissement',
    'Uploading': 'Téléchargement en cours ',
    'is successully uploaded':' a été téléchargé avec succès',
    'failed to upload':' n\'a pas pu être téléchargé',
    'Need to manually select the model type (Nybble/Bittle)':'Vous devez sélectionner manuellement le type de modèle (Nybble/Bittle)',
    'msgFileDir': 'Veuillez choisir le dossier de la version !',
    'msgPort': 'Veuillez choisir le port série correct !',

    'msgNoneAvrdude': '''Avrdude n'est pas installé. Veuillez d\'abord installer avrdude ! Pour plus de détails, veuillez consulter :
    https://docs.petoi.com/desktop-app/firmware-uploader#install-avrdude-in-the-linux-os''',
    'msgNoneEsptool':'Il n\'y a pas d\'estool. Veuillez d\'abord installer esptool!',

    'title Version': 'Informations sur la version',
    'msgVersion': 'Version : ' + versionNum + '\n'+
    '''Outil de téléchargement du micrologiciel pour OpenCat
    Copyright © 2018-2025
    Tous droits réservés Petoi LLC
    https://www.petoi.com\n''' + dateStr,

    'reset joints?': 'Réinitialiser les décalages des articulations ? (O/N)',
    'reseting joints': 'Réinitialisation des décalages des articulations en cours...',
    'joints reset': 'Réinitialisation des décalages des articulations terminée !',

    'update instincts?':'Mettre à jour les instincts ? (O/N)',
    'updating instincts':'Mise à jour des instincts en cours...',
    'instincts updated': 'Instincts mis à jour',

    'calibrate IMU?':'''Calibrer le gyroscope (IMU) (O/N)
        Remarque : Placez la carte principale À PLAT sur une table !''',
    'calibrating IMU': 'Calibration de l\'IMU en cours...',
    'IMU calibrated': 'Calibration de l\'IMU terminée !',
    'caliIMUerrorStatus':'Erreur de calibrage IMU!',

     'parameterFinish': '''Paramètres initialisés ! \n
Après avoir cliqué sur le bouton "OK", le firmware de la fonction principale sera automatiquement téléchargé.''',
    '9685 Calibrated':'PCA9685 a été calibré avec succès !',
    'msgFinish': 'Téléchargement du micrologiciel terminé !',
    'msgMode': 'Mode invalide, veuillez sélectionner un autre mode !',
    'caliIMUerrorMessage': '''Veuillez mettre le commutateur I2C sur le côté Arduino. Pour plus de détails, veuillez vous référer à:\n
https://docs.petoi.com/desktop-app/firmware-uploader#nyboard-version \n
Puis, re-mettez à niveau le firmware.\n''',

    'Standard':'Standard',
    'RandomMind':'RandomMind',
    'Ultrasonic':'Ultrason',
    'Voice':'Voix',
    'Camera':'Caméra',
    'Mind+':'Mind+',
    'RandomMind_Ultrasonic':'RandomMind_Ultrasonic',
	'PIR':'Infrarouge passif',
    'Touch':'Toucher',
    'Light':'Lumière',
    'Gesture':'Geste',
    'InfraredDistance':'Distance infrarouge',
    'Voice_RobotArm':'Voix_Bras robotique',

    'Breath':'Respiration',
    'Rotate':'Rotation',
    'Flash':'Flash',
    'Meow':'Miaulement',
    
    'labEdit':'Modifier',
    'labTheme':'Thème',
    'tipConnect':'Continuer à mettre à jour les ports série actifs jusqu\'à ce qu\'ils soient désactivés',
    'tipPortMenu':'Contrôler un seul ou tous les appareils',
    'tipServo':'Activer/désactiver les servomoteurs',
    'tipGyro':'Activer/désactiver le gyroscope',
    'tipRandom':'Activer/désactiver les comportements aléatoires\n* dans certains modes',
    'tipBinder':'Lier à d\'autres articulations',
    'tipRevBinder':'Lier de manière réversible à d\'autres articulations',
    'tipPlay':'Parcourir l\'ordonnanceur à partir de la trame active\nVous pouvez vous arrêter en cours de lecture',
    'tipImport':'Importer des compétences à partir de fichiers ou de textes',
    'tipRestart':'Effacer toutes les trames de l\'ordonnanceur !',
    'tipExport':'La compétence sera envoyée en temps réel et enregistrée\ndans la mémoire statique du robot\nUtilisez le jeton série \'T\' pour appeler la dernière compétence envoyée',
    'tipMirror':'Miroir de la trame actuelle',
    'tipMirrorXport':'Miroir de toute la compétence lors de l\'exportation\n* Efficace lors de l\'exportation de la compétence complète',
    'tipGorB':'Un comportement interpole entre les trames clés et s\'exécute une seule fois\nUne démarche parcourt toutes les trames sans lissage',
    'tipLoop':'Définir les trames de départ et de fin pour la boucle\n* Efficace lors de l\'exportation de la compétence complète',
    'tipRepeat':'Entrez le nombre de boucles\n-1 pour une boucle infinie. Seul le bouton "réinitialiser" peut interrompre la boucle !\n* Efficace lors de l\'exportation de la compétence complète',
    'tipSet':'Aller à/sauvegarder la trame actuelle',
    'tipStep':'Unité : degré/pas\n* Efficace lors de l\'exportation de la compétence complète',
    'tipDelay':'Unité : milliseconde\nDélai après la trame actuelle, avant de passer à la trame suivante\nSi la gâchette est valide, le délai commence après la gâchette\n* Efficace lors de l\'exportation de la compétence complète',
    'tipTrig':'Déclenche la trame suivante uniquement lorsque le corps roule\nau-dessus de l\'angle de déclenchement dans une certaine direction\n* Efficace lors de l\'exportation de la compétence complète',
    'tipTrigAngle':'L\'angle critique pour la gâchette\n* Efficace lors de l\'exportation de la compétence complète',
    'tipNote':'Donnez un nom facile à retenir à la trame',
    'tipAdd':'Copier la trame active et\nl\'insérer dans la ligne suivante',
    'tipDel':'Supprimer la trame actuelle',

    'tipImgWiring':'Faites attention à l\'emplacement et à la direction des prises de servomoteur\nMaintenez le bouton de la batterie enfoncé pour allumer l\'alimentation\nCliquez sur "Calibrer" pour faire tourner tous les servomoteurs à l\'état de calibration\nFixez les jambes et la tête perpendiculairement\nUtilisez le curseur pour aligner les bords des jambes et la règle de référence parallèlement',
    'tipImgPosture':'Basculez entre les postures pour tester les résultats de calibration\nEnregistrez les offsets à temps\nAucune calibration nécessaire à l\'avenir',
    'Boot prompt': 'Invite de démarrage',
    'poweron':'Le robot doit être alimenté par une batterie pour faire tourner ses articulations, \n\nC\'est VITAL pour contrôler le mouvement des articulations! \n\nLa LED jaune sur la carte mère doit être allumée, \n\nsinon, branchez la batterie et appuyez longuement sur \n\nson bouton pendant 3 secondes pour allumer le robot.\n\n',
}

textJP={
    'lan':'Japanese',
    'lanOption':'日本語',
    'lanMenu':'言語',
    'uiTitle':'Petoiデスクトップアプリ',
    'calibTitle':'ジョイントキャリブレータ',
    'skillComposerTitle':'OpenCatのためのPetoiスキルコンポーザー',
    'Model':'モデル',
    'Robotic Arm':'ロボットアーム',
    'Utility':'ユーティリティ',
    'Joint Calibrator':'ジョイントキャリブレータ',
    'Skill Composer':'スキルコンポーザ',
    'Task Scheduler':'タスクスケジューラ',
    'Scheduler':'スケジューラ',
    'Firmware Uploader':'ファームウェアアップローダ',
    'Debugger': 'ツール',
    'tipDebugger':'ロボットのデバッグに便利なツールを提供する。',
    'tipRstVoice':'このボタンをクリックして音声モジュールをリセットします。',
    'Calibrate gyroscope':'ジャイロスコープを校正する',
    'tipImuCali': 'ジャイロスコープ（IMU）を校正する',
    'Eye color picker':'目の色選択',
    'Creator Information':'制作者情報',
    'Creator':'制作者',
    'Location':'場所',
    'Nature': '自然',
    'Earth': '地球',
    'InputCreator': '作成者のニックネームを入力してください',
    'InputLocation': '作成者の所在地を入力してください',
    'Exit':'終了',
    'Help':'ヘルプ',
    'About':'について',
    'Repeat':'リピート',
    'Loop':'ループ',
    'Frame':'フレーム',
    'Step':'ステップ',
    'Delay':'遅延',
    'Trig':'トリガー',
    'Angle':'角度',
    'Note':'ノート',
    'Del':'削除',
    'Add':'追加',
    'Set':'設定',
    'Save':'保存',
    'Stop':'停止',
    'Joint Controller':'ジョイントコントローラ',
    'Unbind All':'すべてのバインドを解除',
    'Yaw':'ヨー',
    'Pitch':'ピッチ',
    '-Pitch':'-ピッチ',
    'Roll':'ロール',
    '-Roll':'-ロール',
    'Spinal':'脊椎',
    'Height':'高さ',
    'Sideway':'横',
    'Head Pan':'ヘッドパン',
    'Head Tilt':'ヘッドチルト',
    'Tail Pan':'テールパン',
    'Claw Pan': 'クロー回転',
    'Claw Lift': 'クロー上昇',
    'Claw Open': 'クローを開く',
    'N/A':'N/A',
    'Left Front':'左前',
    'Right Front':'右前',
    'Right Back':'右後',
    'Left Back':'左後',
    'Shoulder':'肩',
    'Arm':'アーム',
    'Knee':'膝',
    'State Dials':'ステートダイヤル',
    'Connect':'接続',
    'Connected':'接続済み',
    'Listening':'リスニング',
    'All':'すべて',
    'None':'なし',
    'Servo':'サーボ',
    'Gyro':'ジャイロ',
    'Random':'ランダム',
    'Send':'送信',
    'Postures':'プリセットポーズ',
    'balance': 'スタンド',
    'buttUp': 'お尻を上げる',
    'dropped': '落とした',
    'lifted': '持ち上げた',
    'rest': '休む',
    'sit': '座る',
    'str': '伸びる',
    'zero':'ニュートラルポジション',
    'flat':'腹ばい',
    'table':'テーブル',

    'Skill Editor':'スキルエディタ',
    'Play':'再生',
    'Pause':'一時停止',
    'Import':'インポート',
    'Restart':'再起動',
    'Export':'エクスポート',
    'Undo':'元に戻す',
    'Redo':'やり直し',
    'Open File':'ファイルを開く',
    'Cancel':'キャンセル',
    'OK':'OK',
    'Refresh':'更新',
    'Multiple':'複数',
    'Skill List':'スキルリスト',
    'Type of skill':'スキルの種類',
    'Name of skill':'スキルの名前',
    'exampleFormat':'ファイルからインポートするか、以下の形式でinstinct.hからスキルデータをコピー＆ペーストしてください。\n* 波括弧はそのままにしてください！',
    'Quit':'終了',
    'Do you want to quit?':'終了しますか？',
    'mirror':'ミラーリング',
    '>|<':'>|<',
    'Posture': 'ポーズ',
    'Gait':'歩行',
    'Behavior':'ビヘイビア',
    'Clear':'クリア',
    'max':'最大',

    'Manual mode':'マニュアルモード',
    'Replug mode':'リプラグモード',
    # 'Replug prompt':'''警告：接続に失敗しました！\n\n
    'Replug prompt':'''警告：\n\n
* メインボードがコンピュータに接続されていない場合：\n
以下のボタンをクリックしてください。 USBケーブルをメインボードに接続し、他の端をコンピュータに接続してください。\n\n
* メインボードがすでにUSBケーブルを介してコンピュータに接続されている場合：\n
1. コンピュータがUSBデバイスを認識できることを確認します。\n
詳細は、https://docs.petoi.com/upload-firmwareを参照してください。\n
2. 以下のボタンをクリックした後、USBケーブルをコンピュータ側から抜き、再び接続します。\n
プログラムは、正しいシリアルポート名を自動的に識別します。''',
    'Confirm':'確認',
    'Counting down to manual mode: ':'マニュアルモードまでのカウントダウン：',
    'Info':'情報',
    'New port prompt':'新しいUSBデバイスが見つかりました：',
    'Please select the port from the list':'リストからポートを選択してください',
    '* Port ':'* ポート ',
    ' cannot be opened':' は開けません',

    'Reset voice module':'音声モジュールをリセットする',
    'Voice indicates':'''メロディー「1-3-5」が聞こえますか？
はい (« はい » ボタンを押して続行)
そうでない場合は、「いいえ」ボタンを押して終了してください。BiBoard V0の場合は、
BiBoard拡張ハットの底面にあるディップスイッチがUART2ではなくVoiceに設定されているか確認してください。
https://docs.petoi.com/extensible-modules/voice-command-module#how-to-debug-if-the-voice-command-doesnt-work''',
    'IMU indicates':'''ジャイロスコープ (IMU) を校正しますか？\n
はいの場合、ロボットを水平な場所に置き、水平になるように押し下げてください。\n
下の例は Bittle を示しています。\n
次に、「はい」ボタンを押して続行します。\n
いいえの場合、「いいえ」ボタンを押してキャンセルします。''',
    'Yes': 'はい',
    'No': 'いいえ',
    'Reset successfully': 'リセットが成功しました！',
    'IMU Calibration successfully':'ジャイロスコープの校正が成功しました！',
    'IMU Calibration failed': 'ジャイロスコープの校正が失敗しました！',
    'logLocation':'以下のファイルパスにあるログファイル (logfile.log) を確認してください： \n',
    'checkLogfile':'''\n詳細については、https://docs.petoi.com/desktop-app/firmware-uploader#check-the-log-file を参照してください \n
問題を解決できない場合は、ログを support@petoi.com に送信してサポートを受けてください。''',

    'Calibrate':'キャリブレーション',
    'Auto':'自動',
    'AutoCali failed': '''ロボットグリッパーの関節サーボの自動キャリブレーションに失敗しました！\n
    マニュアルの指示に従って、手動でキャリブレーションを行ってください：\n
    https://docs.petoi.com/extensible-modules/robot-arm#fine-calibration''',
    'Rest':'リセット',
    'Stand Up':'立ち上がる',
    'Walk':'歩く',
    'Abort':'中止',
    'Do you want to save the offsets?':'オフセットを保存しますか？',
    'uploaderTitle': 'ファームウェアアップローダ',
    'labTrans': '言語の変更',
    'labChi': '中国語',
    'labEng': '英語',
    'labHelp': 'ヘルプ',
    'labAbout': 'について',
    'labExit': '終了',
    'labFileDir': 'リリースフォルダの選択',
    'btnFileDir': '...',
    'titleFileDir': 'リリースフォルダを選択してください',
    'labPort': 'シリアルポート',
    'labSoftwareVersion': 'ソフトウェアバージョン',
    'labBoardVersion': 'ボードバージョン',
    'labProduct': '製品',
    'labMode': 'モード',
    'rbnWalk': 'ウォーク',
    'rbnUltrasonic': '超音波',
    'rbnCamera': 'カメラ',
    'Parameters': 'パラメーター',
    'Main function': 'メイン機能',
    'Time consuming': '約30秒かかります',
    'btnFacReset': '工場出荷時設定に戻す',
    'tipFacReset':'ファクトリーリセット後、関節のキャリブレーションを行う必要があります。詳細は次を参照してください：https://docs.petoi.com/joint-calibration',
    'btnUpgrade':'ファームウェアのアップグレード',
    'tipUpgrade':'パラメータとメインプログラムのファームウェアをアップグレードします。ソフトウェアの新しいバージョンをダウンロードした場合は必須です。キャリブレーション値を保持する場合は、\'N\'を選択できます。',
    'btnUpdateMode':'モードのみを更新',
    'tipUpdateMode':''' NyBoardの場合:
 新しいダウンロード後、ファームウェアを少なくとも1回アップグレードした場合、パラメータをリフレッシュせずにモードのみを切り替える方が速くなります。
 BiBoardの場合:
 このボタンの機能は「ファームウェアのアップグレード」ボタンの機能と同じです。''',
    'Warning':'警告',
    'Uploading':'アップロード中 ',
    'is successully uploaded':'が正常にアップロードされました',
    'failed to upload':'のアップロードに失敗しました',
    'Need to manually select the model type (Nybble/Bittle)':'モデルタイプ（Nybble/Bittle）を手動で選択する必要があります',
    'msgFileDir':'リリースフォルダを選択してください！',
    'msgPort':'正しいシリアルポートを選択してください！',
    'msgNoneAvrdude':'avrdudeがありません。まずavrdudeをインストールしてください！詳細については次を参照してください：https://docs.petoi.com/desktop-app/firmware-uploader#install-avrdude-in-the-linux-os',
    'msgNoneEsptool':'エスプツールはありません。 最初に esptool をインストールしてください。',
    'titleVersion':'バージョン情報',

    'msgVersion':'バージョン：' + versionNum + '\n'+
'''OpenCat用のファームウェアアップロードツール
著作権 © 2018-2025
全著作権 Petoi LLC
https://www.petoi.com\n''' + dateStr,

    'reset joints?':'ジョイントオフセットをリセットしますか？（Y/N）',
    'reseting joints':'ジョイントオフセットをリセット中...',
    'joints reset':'ジョイントオフセットのリセットが完了しました！',

    'update instincts?':'本能をアップデートしますか？（Y/N）',
    'updating instincts':'本能をアップデート中...',
    'instincts updated':'本能がアップデートされました',

    'calibrate IMU?':'ジャイロスコープ（IMU）を校正しますか？（Y/N）\n注：メインボードをテーブルの上に平らに置いてください！',
    'calibrating IMU':'IMUをキャリブレーション中...',
    'IMU calibrated':'IMUのキャリブレーションが完了しました！',
    'caliIMUerrorStatus':'IMUキャリブレーションエラー!',

    'parameterFinish':'''パラメータが初期化されました！\n
 「OK」ボタンをクリックすると、メイン機能のファームウェアが自動的にアップロードされます。''',
    '9685 Calibrated':'PCA9685が正常にキャリブレーションされました！',
    'msgFinish':'ファームウェアのアップロードが完了しました！',
    'msgMode':'無効です。別のモードを選択してください！',
    'caliIMUerrorMessage': '''I2C スイッチを Arduino 側に切り替えてください。 詳細については、\n
https://docs.petoi.com/desktop-app/firmware-uploader#nyboard-version \n
を参照してください。
それから、ファームウェアを再アップグレードしてください。\n''',
   
    'Standard':'標準',
    'RandomMind':'ランダムマインド',
    'Ultrasonic':'超音波',
    'Voice':'音声',
    'Camera':'カメラ',
    'Mind+':'マインド+',
    'RandomMind_Ultrasonic':'ランダムマインド_超音波',
	'PIR':'パッシブ赤外線',
    'Touch':'タッチ',
    'Light':'光',
    'Gesture':'ジェスチャー',
    'InfraredDistance':'赤外線距離',
    'Voice_RobotArm':'音声_ロボットアーム',

    'Breath':'呼吸',
    'Rotate':'回転',
    'Flash':'点滅',
    'Meow':'ニャー',

    'labEdit':'編集',
    'labTheme':'テーマ',
    'tipConnect':'無効化されるまでアクティブなシリアルポートを継続的に更新します',
    'tipPortMenu':'単一またはすべてのデバイスを制御します',
    'tipServo':'サーボを有効化/無効化します',
    'tipGyro':'ジャイロスコープを有効化/無効化します',
    'tipRandom':'ランダムな動作を有効化/無効化します\n特定のモードでのみ',
    'tipBinder':'他のジョイントにバインドします',
    'tipRevBinder':'他のジョイントに逆バインドします',
    'tipPlay':'アクティブなフレームからスケジューラを実行します\n再生中に停止することができます',
    'tipImport':'ファイルまたはテキストからスキルをインポートします',
    'tipRestart':'スケジューラ内のすべてのフレームをクリアします！',
    'tipExport':'スキルはリアルタイムで送信され、ロボットの静的メモリに保存されます\n最後に送信されたスキルを呼び出すには、シリアルトークン \'T\' を使用します',
    'tipMirror':'現在のフレームをミラーリングします',
    'tipMirrorXport':'スキル全体をエクスポートするときにスキル全体をミラーリングします\nスキル全体をエクスポートする場合に効果的です',
    'tipGorB':'動作はキーフレーム間を補間し、一度だけ実行されます\n歩行はスムージングなしですべてのフレームをループします',
    'tipLoop':'ループする開始フレームと終了フレームを設定します\nスキル全体をエクスポートする場合に効果的です',
    'tipRepeat':'ループ回数を入力します\n-1は無限ループです。「リセット」ボタンのみがループを中断できます！\nスキル全体をエクスポートする場合に効果的です',
    'tipSet':'現在のフレームにジャンプ/保存します',
    'tipStep':'単位：度/ステップ\nスキル全体をエクスポートする場合に効果的です',
    'tipDelay':'単位：ミリ秒\n現在のフレームの後、次のフレームに入る前の遅延時間\nトリガーが有効な場合、遅延はトリガーの後から開始されます\nスキル全体をエクスポートする場合に効果的です',
    'tipTrig':'トリガー角度を超えたときにのみ次のフレームをトリガーします\nスキル全体をエクスポートする場合に効果的です',
    'tipTrigAngle':'トリガーの臨界角度\nスキル全体をエクスポートする場合に効果的です',
    'tipNote':'フレームに覚えやすい名前を付けます',
    'tipAdd':'アクティブなフレームをコピーして\n次の行に挿入します',
    'tipDel':'現在のフレームを削除します',

    'tipImgWiring':'サーボプラグの位置と向きに注意してください\nバッテリーのボタンを長押しして電源をオンにします\n「キャリブレーション」をクリックしてすべてのサーボをキャリブレーション状態に回転させます\n脚と頭を垂直に取り付けます\nスライダーを使用して脚のエッジと参照定規を平行に揃えます',
    'tipImgPosture':'ポーズを切り替えてキャリブレーションの結果をテストします\nオフセットをタイムリーに保存します\n将来のキャリブレーションは不要です',
    'Boot prompt': 'ブートプロンプト',
    'poweron':'ロボットは、関節を回転させるためにバッテリーが必要です，\n\nこれは関節運動を制御するために不可欠です！\n\nメインボードの黄色い LED が点灯している必要があります, \n\nそれ以外の場合は、バッテリーを 接続し、ボタンを \n\n3 秒間長押ししてロボットの電源をオンにします。\n\n',
}

textIT = {
    'lan':'Italian',
    'lanOption':'Italiano',
    'lanMenu':'Lingua',
    'uiTitle':'Applicazione desktop Petoi',
    'calibTitle':'Calibratore articolare',
    'skillComposerTitle':'Petoi compositore per OpenCat',
    'Model':'Modello',
    'Robotic Arm':'Braccio robotico',
    'Utility':'Utilità',
    'Joint Calibrator':'Calibratore articolare',
    'Skill Composer':'Compositore di abilità',
    'Task Scheduler':'Agenda',
    'Scheduler':'Sequenza',
    'Firmware Uploader':'Caricatore di firmware',
    'Debugger': 'Strumenti',
    'tipDebugger':'Fornire strumenti convenienti per il debug del robot.',
    'tipRstVoice':'Clicca su questo pulsante per ripristinare il modulo vocale.',
    'Calibrate gyroscope':'Calibrare il giroscopio',
    'tipImuCali': 'Calibrare il giroscopio (IMU).',
    'Eye color picker':'Selettore del colore degli occhi',
    'Creator Information':'Informazioni sul creatore',
    'Creator':'Creatore',
    'Location':'Posizione',
    'Nature': 'Natura',
    'Earth': 'Terra',
    'InputCreator': 'Inserisci il nickname del creatore',
    'InputLocation': 'Inserisci la posizione del creatore',
    'Exit':'Uscita',
    'Help':'Aiuto',
    'About':'Chi siamo',
    'Repeat':'Ripeti',
    'Loop':'Loop',
    'Frame':'Quadro',
    'Step':'Velocita',
    'Delay':'Ritardo',
    'Trig':'Trig',
    'Angle':'Angolo',
    'Note':'Nota',
    'Del':'Canc',
    'Add':'Aggingi',
    'Set':'Set',
    'Save':'Salva',
    'Stop':'Stop',
    'Joint Controller':'Controllo multiplo',
    'Unbind All':'Separa tutto',
    'Yaw':'Yaw',
    'Pitch':'Pitch',
    '-Pitch':'-Pitch',
    'Roll':'Roll',
    '-Roll':'-Roll',
    'Spinal':'Spinal',
    'Height':'Altezza',
    'Sideway':'Di lato',
    'Head Pan':'Rotazione testa',
    'Head Tilt':'Inclinazione testa',
    'Tail Pan':'Scodinzolo',
    'Claw Pan': 'Ruotare pinza',
    'Claw Lift': 'Solleva pinza',
    'Claw Open': 'Apri pinza',
    'N/A':'N/A',
    'Left Front':'Sinistra Frontale',
    'Right Front':'Destra Frontale',
    'Right Back':'Destra Posteriore',
    'Left Back':'Sinistra Posteriore',
    'Shoulder':'Spalla',
    'Arm':'Arto superiore',
    'Knee':'Arto Inferiore',
    'State Dials':'Selezioni connessioni',
    'Connect':'Connetti',
    'Connected':'Connesso',
    'Listening':'In ascolto',
    'All':'Tutti',
    'None':'Nessuno',
    'Servo':'Servo',
    'Gyro':'Gyro',
    'Random':'Random',
    'Send':'Inviare',
    'Postures':'Posizioni Preset',
    'balance': 'Supporto',
    'buttUp': 'Sollevare i glutei',
    'dropped': 'caduto',
    'lifted': 'sollevato',
    'rest': 'riposare',
    'sit': 'sedere',
    'str': 'stirarsi',
    'zero':'Posizione neutra',
    'flat':'piatto a terra',
    'table':'Tavolo',

    'Skill Editor':'Skill Editor',
    'Play':'Start',
    'Pause':'Pausa',
    'Import':'Importa',
    'Restart':'Restart',
    'Export':'Esporta',
    'Undo':'Undo',
    'Redo':'Redo',
    'Open File':'Apri File',
    'Cancel':'Cancella',
    'OK':'OK',
    'exampleFormat':'Importa da file o copia e incolla i dati delle abilità da instinct.h nel seguente formato.\n* Mantieni le parentesi graffe!',
    'Quit':'Esci',
    'Do you want to quit?':'Vuoi uscire ?',
    'mirror':'Specchio',
    '>|<':'>|<',
    'Gait':'Cammina',
    'Behavior':'Comportamento',
    'Clear':'Cancella',
    'max':'max',

    'Manual mode':'Modalità manuale',
    'Replug mode':'Modalità di ricarica',
    # 'Replug prompt':'''ATTENZIONE: Connessione fallita!\n\n
    'Replug prompt':'''ATTENZIONE: \n\n
* Se la scheda principale NON è collegata al computer:\n
Fare clic sul pulsante in basso. Collegare il cavo USB alla scheda principale, quindi collegare l\'altra estremità al COMPUTER. \n\n
* Se la scheda principale è già collegata al computer tramite un cavo USB:\n
1. Verificare che il computer sia in grado di riconoscere il dispositivo USB.\n
Ulteriori dettagli sono disponibili su https://docs.petoi.com/upload-firmware.\n
2. Dopo aver fatto clic sul pulsante in basso, scollegare il cavo USB dal lato COMPUTER, quindi ricollegarlo.\n
Il programma identificherà automaticamente il nome corretto della porta seriale.''',
    'Confirm':'Confermare',
    'Counting down to manual mode: ':'Conto alla rovescia per la modalità manuale: ',
    'Info':'Informazione',
    'New port prompt':'Scopri il nuovo dispositivo USB: ',
    'Please select the port from the list':'Seleziona la porta dall\'elenco',
    '* Port ':'* Porta ',
    ' cannot be opened':' non può essere aperto',

    'Reset voice module':'Ripristina modulo vocale',
    'Voice indicates':'''Senti la melodia "1-3-5"?
Se sì, premi il pulsante "Sì" per continuare.
Se no, premere il pulsante "No" per uscire. Per BiBoard V0, controllare che il selettore 
DIP nella parte inferiore dell\'estensione BiBoard sia impostato su Voice e non su UART2.
https://docs.petoi.com/extensible-modules/voice-command-module#how-to-debug-if-the-voice-command-doesnt-work''',
    'IMU indicates':'''Vuoi calibrare il giroscopio (IMU)?\n
In caso affermativo, posiziona il robot su una superficie \n
piana e premilo verso il basso per assicurarti che sia orizzontale.\n
Bittle è mostrato nell'esempio qui sotto.\n
Quindi premi il pulsante "Sì" per continuare;\n
Altrimenti, premi il pulsante "No" per annullare.
    Vuoi calibrare il giroscopio (IMU)?\n
In caso affermativo, posiziona la scheda madre o il robot PIATTO su un tavolo.\n
Prendi Bittle come esempio, come mostrato nella figura sotto.\n
Quindi premi il pulsante "Sì" per continuare;\n
In caso contrario, premi il pulsante "No" per annullare.''',
    'Yes': 'Sì',
    'No': 'No',
    'Reset successfully': 'Ripristino riuscito!',
    'IMU Calibration successfully':'La calibrazione del giroscopio è riuscita!',
    'IMU Calibration failed': 'La calibrazione del giroscopio è fallita!',
    'logLocation':'Si prega di controllare il file di registro (logfile.log) nel seguente percorso: \n',
    'checkLogfile':'''\nPer ulteriori dettagli, consultare https://docs.petoi.com/desktop-app/firmware-uploader#check-the-log-file \n
Se non riesci a risolvere il problema, invia il registro a support@petoi.com per chiedere aiuto.''',
    
    'Calibrate':'Calibrate',
    'Auto':'Automatico',
    'AutoCali failed': '''La calibrazione automatica del servo motore dell\'articolazione della pinza robotica è fallita!\n
    Si prega di seguire le istruzioni del manuale per eseguire una calibrazione manuale: \n
    https://docs.petoi.com/extensible-modules/robot-arm#fine-calibration''',
    'Rest':'Riposo',
    'Stand Up':'In piedi',
    'Walk':'Camminare',
    'Abort':'Interrompi',
    'Do you want to save the offsets?':'Vuoi salvare gli offset?',
    'uploaderTitle': 'Caricatore di firmware',
    'labTrans': 'Cambia lingua',
    'labChi': 'Cinese',
    'labEng': 'Inglese',
    'labHelp': 'Aiuto',
    'labAbout': 'Di',
    'labExit': 'Uscita',
    'labFileDir': 'Scegli la cartella di rilascio',
    'btnFileDir': '...',
    'titleFileDir': 'Si prega di scegliere la cartella di rilascio',
    'labPort': 'Porta seriale',
    'labSoftwareVersion': 'Versione software',
    'labBoardVersion': 'Versione da tavolo',
    'labProduct': 'Prodotto',
    'labMode': 'Modalità',
    'rbnWalk': 'Camminare',
    'rbnUltrasonic': 'Ultrasonico',
    'rbnCamera': 'Telecamera',
    'Parameters':'Parametri',
    'Main function':'Funzione principale',
    'Time consuming': 'ci vorranno circa 30 secondi',
    'btnFacReset':'Ripristino delle impostazioni di fabbrica',
    'tipFacReset':''' Dopo il ripristino delle impostazioni di fabbrica, 
 è necessario eseguire la calibrazione del giunto, fare riferimento a: 
 https://docs.petoi.com/joint-calibration ''',
    'btnUpgrade':'Aggiorna il firmware',
    'tipUpgrade':''' Aggiorna i parametri e il firmware del programma principale. 
 * Obbligatorio se hai appena scaricato una nuova versione di questo software. 
 * È possibile selezionare \'N\' per conservare i valori di calibrazione. ''',
    'btnUpdateMode': 'Aggiorna solo la modalità',
    'tipUpdateMode':''' Per NyBoard:
 Se hai aggiornato il firmware almeno una volta dopo un nuovo download, 
 è più veloce cambiare solo modalità senza aggiornare i parametri. 
 Per BiBoard: 
 La funzione di questo pulsante è la stessa del pulsante "Aggiorna il firmware".''',
    'Warning': 'Avvertimento',
    'Uploading': 'Caricamento in corso ',
    'is successully uploaded':' è caricato con successo',
    'failed to upload':' impossibile caricare',

    'msgFileDir': 'Si prega di scegliere la cartella di rilascio!',
    'msgPort': 'Si prega di scegliere la porta seriale corretta!',
    'msgNoneAvrdude': '''Non c\'è avrdude. Si prega di installare avrdude all\'inizio! Per i dettagli, fare riferimento a:
    https://docs.petoi.com/desktop-app/firmware-uploader#install-avrdude-in-the-linux-os''',
    'msgNoneEsptool':'Non esiste uno strumento esp. Si prega di installare esptool all\'inizio!',
    'titleVersion': 'Informazioni sulla versione',
    'msgVersion': 'Versione: ' + versionNum + '\n' +
    '''Strumento di caricamento del firmware per OpenCat
    Diritto d\'autore © 2018-2025
    Tutti i diritti riservati Petoi LLC
    https://www.petoi.com\n''' + dateStr,
    'reset joints?': 'Reimpostare gli offset dei giunti? (S/N)',
    'reseting joints': 'Reimposta gli offset del giunto...',
    'joints reset': 'Ripristino offset giunti completato!',
    
    'update instincts?':'Aggiornare l\'istinto? (S/N)',
    'updating instincts':'Aggiornamento degli istinti......',
    'instincts updated': 'Istinti aggiornati',
    
    'calibrate IMU?':'''Calibrare il giroscopio (IMU)? (S/N)
    Nota: Appoggia la scheda madre PIATTA su un tavolo!''',
    'calibrating IMU': 'Taratura dell\'IMU...',
    'IMU calibrated': 'Calibrazione IMU completata!',
    'caliIMUerrorStatus':'Errore di calibrazione IMU!',

    'parameterFinish': '''Parametri inizializzati! \n
Dopo aver cliccato sul pulsante "OK", il firmware della funzione principale verrà caricato automaticamente.''',
    '9685 Calibrated':'PCA9685 è stato calibrato con successo!',
    'msgFinish': 'Caricamento del firmware completato!',
    'msgMode': 'Non valido, selezionare un\'altra modalità!',
    'caliIMUerrorMessage': '''Si prega di spostare l\'interruttore I2C sul lato Arduino. Per maggiori dettagli, consultare:\n
https://docs.petoi.com/desktop-app/firmware-uploader#nyboard-version \n
Quindi, aggiornare nuovamente il firmware.\n''',

    'Standard':'Standard',
    'RandomMind':'MenteCasuale',
    'Ultrasonic':'Ultrasonico',
    'Voice':'Voce',
    'Camera':'Telecamera',
    'Mind+':'Mind+',
    'RandomMind_Ultrasonic':'MenteCasuale_Ultrasonico',
	'PIR':'Infrarosso passivo',
    'Touch':'Tatto',
    'Light':'Luce',
    'Gesture':'Gesto',
    'InfraredDistance':'Distanza infrarossa',
    'Voice_RobotArm':'Voce_Braccio robotico',
    
    'Breath':'Respiro',
    'Rotate':'Ruotare',
    'Flash':'Veloce',
    'Meow':'Miao',
    'labEdit':'Modificare',
    'labTheme':'Tema',
    # '':'',
    'tipConnect':'Continua ad aggiornare le porte seriali\nattive fino a quando non viene disabilitato',
    'tipPortMenu':'Controlla dispositivon singolo o tutti',
    'tipServo':'Attiva/Disattiva servos',
    'tipGyro':'Attiva/Disattiva giroscopio',
    'tipRandom':'Attiva/Disattiva comportamento random\n* in alcune modalita',
    'tipBinder':'Legare ad altre articolazioni',
    'tipRevBinder':'Legare inversamente ad altre articolazioni',
    'tipPlay':'Passa attraverso lo sheduler dal frame attivo\nPuoi fermarti mentre giochi',
    'tipImport':'Importa competenze da file o testi',
    'tipRestart':'Cancella tutti i frame nello scheduler!',
    'tipExport':'La skill verrà inviata in tempo reale e salvata\nnella memoria statica del robot\nUsa il token seriale \'T\' per chiamare l\'ultima abilità inviata',
    'tipMirror':'Specchia il fotogramma corrente',
    'tipMirrorXport':'Rispecchia l\'intera abilità durante l\'esportazione\n* Efficace quando si esporta l\'intera abilità',
    'tipGorB':'Un comportamento esegue l\'interpolazione tra i fotogrammi chiave ed esegue una sola volta\nUn\'andatura scorre su tutti i fotogrammi senza alcuna levigatura',
    'tipLoop':'Imposta i fotogrammi iniziale e finale per il looping\n* Efficace quando si esporta l\'intera abilità',
    'tipRepeat':'Immettere il numero di loop\n-1 per loop infinito. Solo il pulsante "reset" può interrompere il loop!\n* Efficace quando si esporta l\'intera abilità',
    'tipSet':'Passa a/salva il fotogramma corrente',
    'tipStep':'Unità: grado/passo\n* Efficace quando si esporta l\'intera abilità',
    'tipDelay':'Unità: millisecondi\nRitardo dopo il fotogramma corrente, prima di entrare nel fotogramma successivo\nSe il trigger è valido, il ritardo inizia dopo il trigger\n* Efficace quando si esporta l\'intera abilità',
    'tipTrig':'Attiva il fotogramma successivo solo quando il corpo rotola\noltre l\'angolo di innesco in una certa direzione\n* Efficace quando si esporta l\'intera abilità',
    'tipTrigAngle':'L\'angolo critico per il grilletto\n* Efficace quando si esporta l\'intera abilità',
    'tipNote':'Dai alla cornice un nome facile da ricordare',
    'tipAdd':'Copia il frame attivo e\ninseriscilo nella riga successiva',
    'tipDel':'Elimina il fotogramma corrente',
    
    'tipImgWiring':'Prestare attenzione alla posizione e alla direzione dei connettori dei servi\nPremere a lungo il pulsante della batteria per accendere l\'alimentazione\nFare clic su "Calibra" per ruotare tutti i servi allo stato di calibrazione\nAttacca le gambe e la testa perpendicolarmente\nUsa il cursore per allineare parallelamente i bordi delle gambe e il righello di riferimento',
    'tipImgPosture':'Passa da una postura all\'altra per testare i risultati della calibrazione\nSalva gli offset in tempo\nNon c\'è bisogno di calibrazione in futuro',
    'Boot prompt': 'Richiesta di avvio',
    'poweron':'Il robot deve essere alimentato a una batteria per ruotare le sue articolazioni, \n\nQuesto è fondamentale per il controllo del movimento delle articolazioni! \n\nLa spia LED gialla sulla scheda madre dovrebbe essere accesa, \n\naltrimenti, collega la batteria e premi a lungo il \n\npulsante per 3 secondi per accendere il robot. \n\n',
}

textRU = {
    'lan':'Russian',
    'lanOption':'Русский',
    'lanMenu':'Язык',
    'uiTitle':'Приложение Petoi',
    'calibTitle':'Калибратор',
    'skillComposerTitle':'Редактор навыков Petoi для OpenCat',
    'Model':'Модель',
    'Robotic Arm':'Роботизированная рука',
    'Utility':'Утилиты',
    'Joint Calibrator':'Войти в калибратор',
    'Skill Composer':'Редактор навыков',
    'Task Scheduler':'Планировщик задач',
    'Scheduler':'Планировщик',
    'Firmware Uploader':'Обновление Firmware',
    'Debugger': 'Инструменты',
    'tipDebugger':'Инструменты отладки робота.',

    'Eye color picker':'Выбор цыета глаз',
    'Creator Information':'Информация о создателе',
    'Creator':'Создатель',
    'Location':'Местоположение',
    'Nature':'Природа',
    'Earth':'Земля',
    'InputCreator':'Введите имя создателя',
    'InputLocation':'Введите местоположение создателя',
    'Exit':'Выход',
    'Help':'Помощь',
    'About':'О программе',
    'Repeat':'Повтор',
    'Loop':'Зацикливание',
    'Frame':'Кадр',
    'Step':'Шаг',
    'Delay':'Задержка',
    'Trig':'Триггер',
    'Angle':'Угол',
    'Note':'Заметка',
    'Del':'Удалить',
    'Add':'Добавить',
    'Set':'Установить',
    'Save':'Сохранить',
    'Stop':'Стоп',
    'Joint Controller':'Контроллер',
    'Unbind All':'Отвязать все',
    'Yaw':'Рыскание',
    'Pitch':'Подача',
    '-Pitch':'-Подача',
    'Roll':'Вращение',
    '-Roll':'-Вращение',
    'Spinal':'Позвоночный',
    'Height':'Высота',
    'Sideway':'Боковой',
    'Head Pan':'Слот головы',
    'Head Tilt':'Наклон головы',
    'Tail Pan':'Слот хвоста',
    'Claw Pan': 'Слот когтя',
    'Claw Lift': 'Подъем когтя',
    'Claw Open': 'Раскрытие когтя',
    'N/A':'Н/Д',
    'Left Front':'Лево Перед',
    'Right Front':'Право Перед',
    'Right Back':'Право Зад',
    'Left Back':'Лево Зад',
    'Shoulder':'Плечо',
    'Arm':'Рука',
    'Knee':'Колено',
    'State Dials':'Установка циферблата',
    'Connect':'Подключить',
    'Connected':'Подключено',
    'Listening':'Слушать',
    'All':'Все',
    'None':'Никто',
    'Servo':'Серво',
    'Gyro':'Гиро',
    'Random':'Случайно',
    'Send':'Отправить',
    'Postures':'Предустановка позиций',
    'balance': 'стоять',
    'buttUp': 'бодать',
    'dropped': 'упал',
    'lifted': 'поднял',
    'rest': 'отдыхать',
    'sit': 'сидеть',
    'str': 'вытягивать',
    'zero':'ноль',
    'flat':'плоский',
    'table':'стол',

    'Skill Editor':'Редактор навыков',
    'Play':'Играть',
    'Pause':'Пауза',
    'Import':'Импорт',
    'Restart':'Рестарт',
    'Export':'Экспорт',
    'Undo':'Вернуть',
    'Redo':'Повторить',
    'Open File':'Открыть файл',
    'Cancel':'Отмена',
    'OK':'OK',
    'Refresh':'Обновить',
    'Multiple':'Много',
    'Skill List':'Список навыков',
    'Type of skill':'Тип навыка',
    'Name of skill':'Название навыка',
    'exampleFormat':'Импорт из файла, или копирование и вставка данных навыка из instinct.h в нужном формате.\n* Сохранить фигурные скобки!',
    'Quit':'Выйти',
    'Do you want to quit?':'Хотите выйти?',
    'mirror':'     Отразить Всё',
    '>|<':'>|<',
    'Posture': '  Поза',
    'Gait':'  Походка',
    'Behavior':'  Поведение',
    'Clear':'Очистить',
    'max':'макс',

    'Manual mode':'Ручной режим',
    'Replug mode':'Переподключение',
    # 'Replug prompt':'''Внимание: Поключение потеряно!\n\n
    'Replug prompt':'''Внимание: \n\n
* Если плата контролера не подключена к компьютеру:\n
Нажмите на кнопку ниже. Подключите USB кабель к плате контролера, а затем другой конец к компьютеру. \n\n
* Если плата контролера уже подключена к компьютеру через USB кабель:\n
1. Убедитесь, что компьютер распознает USB-устройство..\n
Больше деталей содержится на https://docs.petoi.com/upload-firmware\n
2. После нажатия кнопки ниже, переподключите USB кабель на стороне компьютера.\n
Программа автоматически определит правильное имя последовательного порта.''',
    'Confirm':'Подтвердить',
    'Counting down to manual mode: ':'Вернуться в ручной режим: ',
    'Info':'Инфо',
    'New port prompt':'Обнаружить новое USB-устройство: ',
    'Please select the port from the list':'Укажите порт из списка',
    '* Port ':'* Порт ',
    ' cannot be opened':' не может открыться',

    'Reset voice module':'Сбросить голосовой модуль',
    'tipRstVoice':'Нажмите кнопку для сброса госового модуля.',
    'Calibrate gyroscope':'Калибровка гироскопа',
    'tipImuCali': 'Калибровка гироскопа (IMU).',
    'BiBoard Config':'Конфигурация BiBoard',
    'tipbiboardConfig':'Нажмите эту кнопку для конфигурирования BiBoard.',

    'Voice indicates':'''Вы слишите мелодию "1-3-5"?\n
Если да, нажмите "Да" для продолжения; 
Если нет, нажмите "Нет" для выхода, для BiBoard V0, проверьте дисковый переключатель 
на нижней стороне голосового расширителя BiBoard (не UART2).
https://docs.petoi.com/extensible-modules/voice-command-module#how-to-debug-if-the-voice-command-doesnt-work''',
    'IMU indicates':'''Вы хотите откалибровать гироскоп (IMU)?\n
Если да, поместите робота на ровную поверхность и надавите на него,\n
чтобы убедиться, что он находится в горизонтальном положении.\n
Bittle показан в примере ниже.\n
Затем нажмите кнопку «Да» для продолжения;\n
Если нет, нажмите кнопку «Нет» для отмены.''',
    'Yes': 'Да',
    'No': 'Нет',
    'Reset successfully': 'Успешный сброс!',
    'IMU Calibration successfully':'Калибровка гироскопа выполнена успешно!',
    'IMU Calibration failed': 'Калибровка гироскопа не удалась!',
    'logLocation':'Проверьте log файл (logfile.log) по следующему пути: \n',
    'checkLogfile':'''\nДополнительная информация по адресу https://docs.petoi.com/desktop-app/firmware-uploader#check-the-log-file \n
Если проблема не решена, отправьте лог на support@petoi.com for help.''',

    'Calibrate':'Калибровка',
    'Auto':'Авто',
    'AutoCali failed': '''Автоматическая калибровка сервопривода сустава лапы не удалась!\n
    Следуйте инструкциям в Центре документации Petoi для выполнения ручной калибровки:\n
    https://docs.petoi.com/extensible-modules/robot-arm#fine-calibration''',
    'Rest':'Отдых',
    'Stand Up':'Встать',
    'Walk':'Ходить',
    'Abort':'Прервать',
    'Do you want to save the offsets?':'Хотите сохранить смещения?',
    'uploaderTitle': 'Загрузчик прошивки',
    'labTrans': 'Сменить язык',
    'labChi': 'Китайский',
    'labEng': 'Английский',
    'labHelp': 'Помощь',
    'labAbout': 'О программе',
    'labExit': 'Выход',
    'labFileDir': 'Выберите папку релиза',
    'btnFileDir': '...',
    'titleFileDir': 'Выберите папку релиза',
    'labPort': 'Последовательный порт',
    'labSoftwareVersion': 'Версия программы',
    'labBoardVersion': 'Версия платы',
    'labProduct': 'Продукт',
    'labMode': 'Режим',
    'rbnWalk': 'Ходить',
    'rbnUltrasonic': 'Ультразвуковой',
    'rbnCamera': 'Камера',
    'Parameters':'Параметры',
    'Main function':'Основная функция',
    'Time consuming': 'это займет около 30 секунд',
    'btnFacReset':'Сброс до заводских настроек',
    'tipFacReset':''' После сброса до заводских настроек, необходимо выполнить калибровку сервоприводов суставов, подробнее: 
 https://docs.petoi.com/joint-calibration ''',
    'btnUpgrade':'Обновить прошивку',
    'tipUpgrade':''' Обновите как параметры, так и основную функцию. 
 * Обязательно, если только что загрузили новую версию этого программного обеспечения.. 
 * Можно выбрать \'N\' для сохранения значений калибровки. ''',
    'btnUpdateMode': 'Обновить только режим',
    'tipUpdateMode':''' Для NyBoard:
 Если прошивка обновлялалсь хотябы раз после новой загрузки, 
 это быстрее только для переключения режимов без обновления параметров. 
 Для BiBoard:
 Функция этой кнопки аналогична функции кнопки «Обновить прошивку».''',
    'Warning': 'Предупреждение',
    'Uploading': 'Загрузка ',
    'is successully uploaded':' успешно загружен',
    'failed to upload':' сбой загрузки',
    'Need to manually select the model type (Nybble/Bittle)':'Нужно вручную выбрать модель (Nybble/Bittle)',
    'msgFileDir': 'Выбирете папку релиза',
    'msgPort': 'Выбирете правильный последовательный порт!',

    'msgNoneAvrdude': '''Нет avrdude. Сначала установите avrdude! Для деталей, изучите :
    https://docs.petoi.com/desktop-app/firmware-uploader#install-avrdude-in-the-linux-os''',
    'msgNoneEsptool':'Нет esptool. Сначала установите esptool!',

    'titleVersion': 'Информация о версии',

    'msgVersion': 'Версия: ' + versionNum + '\n'+
    '''Инструмент загрузки прошивки для OpenCat
    Copyright © 2018-2025
    All rights reserved Petoi LLC
    https://www.petoi.com\n''' + dateStr,

    'reset joints?': 'Сброс смещений суставов? (Д/Н)',
    'reseting joints': 'Сброс смещений суставов...',
    'joints reset': 'Сброс смещений суставов закончен!',
    
    'update instincts?':'Обновить Инстинкт? (Д/Н)',
    'updating instincts':'Обновление Инстинкта......',
    'instincts updated': 'Инстинкт обновлен',
    
    'calibrate IMU?':'''Калибровать гироскоп (IMU)? (Д/Н)
    Примечание: Положите материнскую плату ГОРИЗОНТАЛЬНО!''',
    'calibrating IMU': 'Калибровка IMU...',
    'IMU calibrated': 'Калибровка IMU завершена!',
    'caliIMUerrorStatus':'Ошибка калибровки IMU!',

    'parameterFinish': '''Параметры инициализированы! \n
После нажатия кнопки «ОК» будет автоматически загружена основная функциональная прошивка.''',

    '9685 Calibrated':'PCA9685 успешно откалиброван!',
    'msgFinish': 'Загрузка прошивки завершена!',
    'msgMode': 'Неверно, выберите другой режим!',
    'caliIMUerrorMessage': '''Пожалуйста, переключите I2C на сторону Arduino! Для получения информации см:\n
https://docs.petoi.com/desktop-app/firmware-uploader#nyboard-version \n
Затем повторно обновите прошивку.\n''',

    'Standard':'Стандартный',
    'RandomMind':'СлучайныйРазум',
    'Ultrasonic':'Ультразвук',
    'Voice':'Голосовой',
    'Camera':'Камера',
    'Mind+':'Разум+',
    'RandomMind_Ultrasonic':'Случайный Разум_Ультразвук',
    'PIR':'ПассИКдатчик движ PIR',
    'Touch':'Прикосновения',
    'Light':'Света',
    'Gesture':'Жестов',
    'InfraredDistance':'ИК_дистанции',
    'Voice_RobotArm':'Голосовой_РоботРука',
    
    'Breath':'Дыхание',
    'Rotate':'Поворот',
    'Flash':'Вспышка',
    'Meow':'Мяу',
 
    'labEdit':'Правка',
    'labTheme':'Тема',
    'tipConnect':'Непрерывное обновление списка активных последовательтных\nпортов пока они \не будут отключены',
    'tipPortMenu':'Управление одним или всеми устройствами',
    'tipServo':'Включение/выключение сервоприводов',
    'tipGyro':'Включение/выключение гироскопа',
    'tipRandom':'Вкдючение/выключение случайного поведения\n* в заданных режимах',
    'tipBinder':'Привязка к другим суставам',
    'tipRevBinder':'Реверсивная привязка к другим суставам',
    'tipPlay':'Пройдите через планировщик из активного кадра\nМожете остановиться во время игры.',
    'tipImport':'Импорт навыков из файлов или текстов',
    'tipRestart':'Очистить все кадры в планировщике!',
    'tipExport':'Навык будет немедленно отправлен и сохранен\nв постоянной памяти робота\nИспользуйте порядковый знак \'T\' для вызова последнего отправленного навыка',
    'tipMirror':'Отразить текущий кадр',
    'tipMirrorXport':'Зеркалирование всего навыка при экспорте\n* Эффективно при экспорте всего навыка',
    'tipGorB':'Поведение интерполируется между ключевыми кадрами и выполняется только один раз.\nПрохождение зацикливается по всем кадрам без сглаживания',
    'tipLoop':'Установите начальный и конечный кадры для зацикливания\n* Эффективно при экспорте всего навыка',
    'tipRepeat':'Введите количество зацикливаний\n-1 для бесконечного цикла. Только кнопка «сброс» может прервать этот цикл!\n* Эффективно при экспорте всего навыка',
    'tipSet':'Перейти к текущему кадру / сохранить его',
    'tipStep':'Единица: градус/шаг\n* Эффективно при экспорте всего навыка',
    'tipDelay':'Единица: милисекунда\nЗадержка после текущего кадра, перед следующим кадром\nЕсли задействован триггер запуска, задержка начинается после триггера\n* Эффективно при экспорте всего навыка',
    'tipTrig':'Запуск следующего кадра только когда тело повернется\nна угол срабатывания в определенном направлении\n* Эффективно при экспорте всего навыка',
    'tipTrigAngle':'Критический угол для триггера запуска\n* Эффективно при экспорте всего навыка',
    'tipNote':'Задайте кадру легко запоминающееся название',
    'tipAdd':'Скопировать активный кадр и\nвставить его в следующую строку',
    'tipDel':'Удалить текущий кадр',
    
    'tipImgWiring':'Обратите внимание на расположение и направление серворазъемов\nДлинное нажатие на кнопку батареи вкючает питание\nНажмите «Калибровать», чтобы повернуть все сервоприводы в состояние калибровки\nПрикрепите ноги и голову перпендикулярно\nИспользуйте ползунок, чтобы выровнять концы ног по контрольному шаблону параллельно',
    'tipImgPosture':'Переключайтесь между позами, чтобы проверить результаты калибровки\nСохраняйте смещения вовремя\nНе требует калибровки в будущем',
    'Boot prompt': 'Загрузочная подсказка',
    'poweron':'Робот должен питаться от батареи для вращения суставов, \n\nЭто ЖИЗНЕННО необходимо для контроля движения суставов!\n\nЖелтый светодиод на материнской плате должен загореться, \n\иначе подключите аккумулятор и нажмите и удерживайте эту \n\кнопку 3 секунды для вкючения робота.\n\n',
}
languageList = {
    'English':textEN,
    'Simplified Chinese':textCN,
    'Traditional Chinese':textCN_TW,
    'German':textDE,
    'Thai':textTH,
    'French':textFR,
    'Japanese':textJP,
    'Italian':textIT,
    'Russian':textRU,
    #to be added
}
